From 6b48ad8455331c429625d7af84dce99d37ad1fe3 Mon Sep 17 00:00:00 2001
From: Juliana <juliana@le-filament.com>
Date: Tue, 16 May 2023 13:05:52 +0200
Subject: [PATCH] [UPD]Add info member archived on contact

---
 models/res_partner.py | 20 +++++++++++++++++++-
 views/res_partner.xml |  1 +
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/models/res_partner.py b/models/res_partner.py
index 8ecba66..c653572 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -99,11 +99,29 @@ class ResPartner(models.Model):
     # ------------------------------------------------------
     # Onchange / Constraints
     # ------------------------------------------------------
-
+    @api.onchange("parent_id")
+    def _onchange_parent_id(self):
+        res = super(ResPartner, self)._onchange_parent_id()
+        self.is_membership_archived = self.parent_id.is_membership_archived
+        return res
     # ------------------------------------------------------
     # CRUD methods (ORM overrides)
     # ------------------------------------------------------
+    def write(self, vals):
+        """
+        Inherit write ORM function and
+        apply parent values for child
+        """
+        res = super(ResPartner, self).write(vals)
+        for partner in self:
+            # if partner has child, update all childs
+            if partner.child_ids:
+                partner.child_ids.update(
+                    {
+                        "is_membership_archived": partner.is_membership_archived
+                    })
 
+        return res
     # ------------------------------------------------------
     # Actions
     # ------------------------------------------------------
diff --git a/views/res_partner.xml b/views/res_partner.xml
index c89f6fe..cdfe49c 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -166,6 +166,7 @@
                                 <field name="membership_is_delegate" />
                                 <field name="membership_is_mandate" />
                                 <field name="membership_is_contact" />
+                                <field name="is_membership_archived" widget="boolean_toggle" />
                             </group>
                         </group>
                     </page>
-- 
GitLab