Skip to content
Extraits de code Groupes Projets
Valider ebea032f rédigé par Juliana's avatar Juliana
Parcourir les fichiers

[ADD]Add process buyer surplus

parent 7af3abc4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -112,7 +112,13 @@ class AccAccount(models.Model):
def create(self, vals_list):
res = super(AccAccount, self).create(vals_list)
for rec in res:
seq = str(rec.acc_injection_id.acc_account_delivery_count).zfill(3)
if res.is_account_buyer:
seq = str(rec.acc_injection_id.acc_account_surplus_count).zfill(3)
rec.name = (
rec.acc_operation_id.name + "-" + rec.acc_injection_id.name + "-" + seq
)
else:
seq = str(rec.acc_injection_id.acc_account_injection_count).zfill(3)
rec.name = (
rec.acc_operation_id.name + "-" + rec.acc_injection_id.name + "-" + seq
)
......
......@@ -10,12 +10,18 @@ class AccCounter(models.Model):
# ------------------------------------------------------
# Fields declaration
# ------------------------------------------------------
acc_account_surplus_ids = fields.One2many(
"acc.account", "acc_delivery_id",
domain=[('is_account_buyer', '=', True)],
string="Factures Surplus liées"
)
acc_account_delivery_ids = fields.One2many(
"acc.account", "acc_delivery_id",
string="Factures liées"
)
acc_account_injection_ids = fields.One2many(
"acc.account", "acc_injection_id",
domain=[('is_account_buyer', '=', False)],
string="Factures liées"
)
acc_account_delivery_count = fields.Integer(
......@@ -24,6 +30,9 @@ class AccCounter(models.Model):
acc_account_injection_count = fields.Integer(
compute="_compute_acc_account_count", string="Nombre de factures producteurs"
)
acc_account_surplus_count = fields.Integer(
compute="_compute_acc_account_count", string="Nombre de factures surplus producteurs"
)
# ------------------------------------------------------
# SQL Constraints
# ------------------------------------------------------
......@@ -42,7 +51,10 @@ class AccCounter(models.Model):
[("acc_delivery_id", "=", res.id)]
)
res.acc_account_injection_count = self.env["acc.account"].search_count(
[("acc_injection_id", "=", res.id)]
[("acc_injection_id", "=", res.id), ('is_account_buyer', '=', False)]
)
res.acc_account_surplus_count = self.env["acc.account"].search_count(
[("acc_injection_id", "=", res.id), ('is_account_buyer', '=', True)]
)
# ------------------------------------------------------
# Onchange / Constraints
......
......@@ -166,14 +166,14 @@ class AccOperation(models.Model):
('date_slot', '>=', date_start),
('date_slot', '<=', date_end),
('comp_data_type', '=', 'surplus')],
['power', 'acc_operation_id', 'date_slot'],
['comp_data_type'], orderby='comp_data_type', lazy=False)
['power', 'acc_counter_id', 'date_slot'],
['acc_counter_id'], orderby='comp_data_type', lazy=False)
for power_tab_prod in power_tab_by_prod:
price_kwh = self.env['acc.sale.price.buyer'].search([
('acc_operation_id', '=', self.id),
('acc_buyer_id', '=', self.buyer_id),
('acc_buyer_id', '=', self.buyer_id.id),
('start_date', '<=', date_month),
('end_date', '>=', date_month)
]).price
......@@ -183,7 +183,8 @@ class AccOperation(models.Model):
acc_account = Account.create({
'acc_operation_id': self.id,
'acc_buyer_id': self.buyer_id.id,
'buyer_id': self.buyer_id.id,
'acc_injection_id': power_tab_prod['acc_counter_id'][0],
'power_cons': power_tab_prod['power'],
'start_date': date_start,
'end_date': date_end,
......
......@@ -55,7 +55,7 @@ class AccSalePriceBuyer(models.Model):
'res.partner',
domain=[('is_buyer_surplus', '=', True)],
string="Acheteur de surplus",
ondelete="cascade"
ondelete="cascade",
)
start_date = fields.Date("Début de la période")
end_date = fields.Date("Fin de la période")
......
id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
"access_acc_sale_price_group_partner_manager","acc_sale_price group_partner_manager","model_acc_sale_price","base.group_partner_manager",1,1,1,1
"access_acc_sale_price_group_user","acc_sale_price group_user","model_acc_sale_price","base.group_user",1,0,0,0
"access_acc_sale_price_buyer_group_partner_manager","acc_sale_price_buyer group_partner_manager","model_acc_sale_price_buyer","base.group_partner_manager",1,1,1,1
"access_acc_sale_price_buyer_group_user","acc_sale_price_buyer group_user","model_acc_sale_price_buyer","base.group_user",1,0,0,0
"access_acc_sale_price_wizard_group_partner_manager","acc_sale_price_wizard group_partner_manager","model_acc_sale_price_wizard","base.group_partner_manager",1,1,1,1
"access_acc_sale_price_wizard_group_user","acc_sale_price_wizard group_user","model_acc_sale_price_wizard","base.group_user",1,0,0,0
"access_acc_account_group_partner_manager","acc_account group_partner_manager","model_acc_account","base.group_partner_manager",1,1,1,1
......@@ -11,3 +13,5 @@ id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
"access_acc_account_tax_group_user","acc_account_tax group_user","model_acc_account_tax","base.group_user",1,0,0,0
"access_acc_account_wizard_group_partner_manager","acc_account_wizard group_partner_manager","model_acc_account_wizard","base.group_partner_manager",1,1,1,1
"access_acc_account_wizard_group_user","acc_account_wizard group_user","model_acc_account_wizard","base.group_user",1,0,0,0
"access_acc_account_surplus_wizard_group_partner_manager","acc_account_surplus_wizard group_partner_manager","model_acc_account_surplus_wizard","base.group_partner_manager",1,1,1,1
"access_acc_account_surplus_wizard_group_user","acc_account_surplus_wizard group_user","model_acc_account_surplus_wizard","base.group_user",1,0,0,0
\ No newline at end of file
......@@ -9,6 +9,20 @@
<field name="arch" type="xml">
<div class="oe_title" position="before">
<div name="button_box" class="oe_button_box">
<button
type="object"
class="oe_stat_button"
icon="fa-money"
name="action_view_acc_injection_accounts"
context="{'default_acc_injection_id': active_id}"
>
<div class="o_form_field o_stat_info">
<span class="o_stat_value">
<field name="acc_account_surplus_count" />
</span>
<span class="o_stat_text">Factures Surplus producteurs</span>
</div>
</button>
<button
type="object"
class="oe_stat_button"
......
......@@ -54,5 +54,55 @@
</field>
</record>
<record id="acc_sale_price_buyer_form_view" model="ir.ui.view">
<field name="name">acc.acc_sale_price_buyer.form</field>
<field name="model">acc.sale.price.buyer</field>
<field name="arch" type="xml">
<form string="Prix de vente Acheteur">
<sheet>
<group>
<group>
<field name="acc_operation_id"/>
<field name="acc_buyer_id"/>
</group>
<group>
<field name="start_date"/>
<field name="end_date"/>
<field name="price" widget='monetary'/>
<field name="currency_id"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="acc_sale_price_buyer_tree_view" model="ir.ui.view">
<field name="name">acc.acc_sale_price_buyer.tree</field>
<field name="model">acc.sale.price.buyer</field>
<field name="arch" type="xml">
<tree string="Prix de vente Acheteur">
<field name="acc_operation_id"/>
<field name="acc_buyer_id"/>
<field name="start_date"/>
<field name="end_date"/>
<field name="currency_id" invisible="1"/>
<field name="price" widget='monetary'/>
</tree>
</field>
</record>
<record id="acc_sale_price_buyer_act_window" model="ir.actions.act_window">
<field name="name">Prix de Vente Acheteur</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">acc.sale.price.buyer</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Créer une entrée de données
</p>
</field>
</record>
</data>
</odoo>
\ No newline at end of file
......@@ -19,10 +19,16 @@
sequence="20"
action="acc_sale_price_act_window"/>
<menuitem id="acc_sale_price_buyer_menu"
parent="menu_account"
name="Prix de vente Acheteur"
sequence="30"
action="acc_sale_price_buyer_act_window"/>
<menuitem id="acc_acc_account_menu"
parent="menu_account"
name="Taxes"
sequence="30"
sequence="40"
action="acc_action_tax_form"/>
</data>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter