From ccdd2a2b5e2d75a24365dfc6d1d03444326677b3 Mon Sep 17 00:00:00 2001
From: Juliana <juliana@le-filament.com>
Date: Wed, 5 Apr 2023 16:13:53 +0200
Subject: [PATCH] [ADD]Add contact invoice in operation + invoice + Pdf

---
 models/acc_account.py         |  8 ++++++--
 models/acc_operation.py       | 11 ++++++++++-
 report/account_template.xml   | 22 +++++++++++-----------
 views/acc_account_views.xml   |  5 +++++
 views/acc_operation_views.xml |  1 +
 5 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/models/acc_account.py b/models/acc_account.py
index 62d0509..34de13c 100644
--- a/models/acc_account.py
+++ b/models/acc_account.py
@@ -137,8 +137,12 @@ class AccAccount(models.Model):
         tracking=True,
         default="draft",
     )
-    invoice_terms = fields.Text("Termes and conditions de paiement", default=_default_invoice_terms)
-    invoice_terms_tax = fields.Text("Termes and conditions des taxes", default=_default_invoice_terms_tax)
+    invoice_terms = fields.Text("Termes and conditions de paiement",
+                                default=_default_invoice_terms)
+    invoice_terms_tax = fields.Text("Termes and conditions des taxes",
+                                    default=_default_invoice_terms_tax)
+
+    contact_invoice = fields.Many2one("res.partner", string="Une question?")
 
     @api.model_create_multi
     def create(self, vals_list):
diff --git a/models/acc_operation.py b/models/acc_operation.py
index 14f4e97..5a7b825 100644
--- a/models/acc_operation.py
+++ b/models/acc_operation.py
@@ -65,6 +65,9 @@ class AccOperation(models.Model):
     )
     sale_price = fields.Float("Prix de vente par défaut", digits="Sale Price")
     price_accise = fields.Float("Tarif ACCISE par défaut", digits="Sale Price")
+
+    contact_invoice = fields.Many2one("res.partner", string="Une question?")
+
     # ------------------------------------------------------
     # SQL Constraints
     # ------------------------------------------------------
@@ -129,7 +132,12 @@ class AccOperation(models.Model):
     # ------------------------------------------------------
     # Onchange / Constraints
     # ------------------------------------------------------
-
+    @api.onchange("pmo_id")
+    def _onchange_pmo_id(self):
+        if self.pmo_id:
+            self.contact_invoice = self.pmo_id
+        else:
+            self.contact_invoice = False
     # ------------------------------------------------------
     # CRUD methods (ORM overrides)
     # ------------------------------------------------------
@@ -333,6 +341,7 @@ class AccOperation(models.Model):
             {
                 "acc_operation_id": self.id,
                 "producer_id": producer_id.id,
+                "contact_invoice": self.pmo_id.id,
                 "acc_delivery_id": acc_delivery_id.id,
                 "power_cons": power_cons_tot,
                 "start_date": date_start,
diff --git a/report/account_template.xml b/report/account_template.xml
index 500700b..dd5da6b 100644
--- a/report/account_template.xml
+++ b/report/account_template.xml
@@ -303,21 +303,21 @@
                                     <p class="mb-4">
                                         <span
                                             class="font-weight-bold"
-                                            t-field="o.pmo_id.name"
+                                            t-field="o.contact_invoice.name"
                                         /><br />
-                                        <span t-field="o.pmo_id.street" /><br />
-                                        <t t-if="o.pmo_id.street2"><span
-                                                t-field="o.pmo_id.street2"
+                                        <span t-field="o.contact_invoice.street" /><br />
+                                        <t t-if="o.contact_invoice.street2"><span
+                                                t-field="o.contact_invoice.street2"
                                             /><br /></t>
-                                         <t t-if="o.pmo_id.zip">
-                                        <span t-field="o.pmo_id.zip" /> - <span
-                                                t-field="o.pmo_id.city"
+                                         <t t-if="o.contact_invoice.zip">
+                                        <span t-field="o.contact_invoice.zip" /> - <span
+                                                t-field="o.contact_invoice.city"
                                             /><br /></t>
-                                        <t t-if="o.pmo_id.phone">
-                                            <span t-field="o.pmo_id.phone" /><br />
+                                        <t t-if="o.contact_invoice.phone">
+                                            <span t-field="o.contact_invoice.phone" /><br />
                                         </t>
-                                        <t t-if="o.pmo_id.email">
-                                            <span t-field="o.pmo_id.email" />
+                                        <t t-if="o.contact_invoice.email">
+                                            <span t-field="o.contact_invoice.email" />
                                         </t>
                                     </p>
                                     <p class="text-center font-italic mt-4">
diff --git a/views/acc_account_views.xml b/views/acc_account_views.xml
index 7f15a98..55996a3 100644
--- a/views/acc_account_views.xml
+++ b/views/acc_account_views.xml
@@ -286,6 +286,11 @@
                                 <field name="tax_id" />
                             </group>
                         </group>
+                        <group>
+                            <group>
+                                <field name="contact_invoice" />
+                            </group>
+                        </group>
                         <notebook>
                             <page id="invoice_tab" string="Lignes de Facture">
                                 <field
diff --git a/views/acc_operation_views.xml b/views/acc_operation_views.xml
index 10d36c9..2e7e47a 100644
--- a/views/acc_operation_views.xml
+++ b/views/acc_operation_views.xml
@@ -63,6 +63,7 @@
                             <field name="is_account_active" widget="boolean_toggle" />
                             <field name="sale_price" />
                             <field name="price_accise" />
+                            <field name="contact_invoice" />
                         </group>
                         <group>
                             <field name="is_surplus_active" widget="boolean_toggle" />
-- 
GitLab