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

[UPD]add invoice count and linked on producer

parent 5ad3c2ca
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -56,8 +56,8 @@ class AccAccount(models.Model): ...@@ -56,8 +56,8 @@ class AccAccount(models.Model):
) )
producer_id = fields.Many2one( producer_id = fields.Many2one(
comodel_name="res.partner", comodel_name="res.partner",
related="acc_injection_id.partner_id",
string="Producteur", string="Producteur",
domain=[("is_producer", "=", True)],
) )
is_tva = fields.Boolean("Assujetti à la TVA", related="producer_id.is_tva") is_tva = fields.Boolean("Assujetti à la TVA", related="producer_id.is_tva")
tax_id = fields.Many2one("acc.account.tax", "Taxe", related="producer_id.tax_id") tax_id = fields.Many2one("acc.account.tax", "Taxe", related="producer_id.tax_id")
...@@ -142,12 +142,10 @@ class AccAccount(models.Model): ...@@ -142,12 +142,10 @@ class AccAccount(models.Model):
+ seq + seq
) )
else: else:
seq = str(rec.acc_injection_id.acc_account_injection_count).zfill(3) seq = str(rec.producer_id.acc_account_injection_count).zfill(3)
rec.name = ( rec.name = (
"F-" "F-"
+ rec.acc_operation_id.name + rec.producer_id.ref_producer
+ "-"
+ rec.acc_injection_id.name
+ "-" + "-"
+ seq + seq
) )
......
# Copyright 2021 Le Filament (<http://www.le-filament.com>) # Copyright 2021 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models from odoo import fields, models, api
class ResPartner(models.Model): class ResPartner(models.Model):
...@@ -19,7 +19,15 @@ class ResPartner(models.Model): ...@@ -19,7 +19,15 @@ class ResPartner(models.Model):
siret = fields.Char("SIRET") siret = fields.Char("SIRET")
naf = fields.Char("NAF") naf = fields.Char("NAF")
rcs = fields.Char("RCS") rcs = fields.Char("RCS")
acc_account_producer_ids = fields.One2many(
"acc.account",
"producer_id",
domain=[("is_account_buyer", "=", False)],
string="Factures liées",
)
acc_account_producer_count = fields.Integer(
compute="_compute_acc_account_count", string="Nombre de factures producteurs"
)
# ------------------------------------------------------ # ------------------------------------------------------
# SQL Constraints # SQL Constraints
# ------------------------------------------------------ # ------------------------------------------------------
...@@ -31,7 +39,15 @@ class ResPartner(models.Model): ...@@ -31,7 +39,15 @@ class ResPartner(models.Model):
# ------------------------------------------------------ # ------------------------------------------------------
# Computed fields / Search Fields # Computed fields / Search Fields
# ------------------------------------------------------ # ------------------------------------------------------
@api.depends("acc_account_producer_ids")
def _compute_acc_account_count(self):
"""
Fonction permettant de calculer le nombre de factures de vente par producteurs,
"""
for res in self:
res.acc_account_producer_count = self.env["acc.account"].search_count(
[("producer_id", "=", res.id)]
)
# ------------------------------------------------------ # ------------------------------------------------------
# Onchange / Constraints # Onchange / Constraints
# ------------------------------------------------------ # ------------------------------------------------------
...@@ -43,7 +59,16 @@ class ResPartner(models.Model): ...@@ -43,7 +59,16 @@ class ResPartner(models.Model):
# ------------------------------------------------------ # ------------------------------------------------------
# Actions # Actions
# ------------------------------------------------------ # ------------------------------------------------------
def action_view_acc_producer_accounts(self):
"""
Action permettant d'accéder auc factures de vente du producteur
"""
self.ensure_one()
action = self.env["ir.actions.actions"]._for_xml_id(
"acc_account.action_acc_account"
)
action["domain"] = [("producer_id", "=", self.id)]
return action
# ------------------------------------------------------ # ------------------------------------------------------
# Business methods # Business methods
# ------------------------------------------------------ # ------------------------------------------------------
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
<field name="date" /> <field name="date" />
<field name="name" /> <field name="name" />
<field name="acc_operation_id" optional="show" /> <field name="acc_operation_id" optional="show" />
<field name="acc_injection_id" optional="show" /> <field name="producer_id" optional="show" />
<field name="acc_delivery_id" optional="show" /> <field name="acc_delivery_id" optional="show" />
<field <field
name="amount_untaxed" name="amount_untaxed"
......
...@@ -7,6 +7,23 @@ ...@@ -7,6 +7,23 @@
<field name="model">res.partner</field> <field name="model">res.partner</field>
<field name="inherit_id" ref="acc_operation.view_partner_form" /> <field name="inherit_id" ref="acc_operation.view_partner_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<div name="button_box" position="inside">
<button
type="object"
class="oe_stat_button"
icon="fa-money"
name="action_view_acc_producer_accounts"
context="{'default_producer_id': active_id}"
attrs="{'invisible': [('is_producer', '!=', True)]}"
>
<div class="o_form_field o_stat_info">
<span class="o_stat_value">
<field name="acc_account_producer_count" />
</span>
<span class="o_stat_text">Factures producteurs</span>
</div>
</button>
</div>
<xpath expr="//notebook" position="inside"> <xpath expr="//notebook" position="inside">
<page name="account" string="Facturation"> <page name="account" string="Facturation">
<group> <group>
......
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