From a6eccdc10f7eb49b68e835127e01300163904a0b Mon Sep 17 00:00:00 2001
From: benjamin <benjamin@le-filament.com>
Date: Tue, 22 Apr 2025 12:11:03 +0200
Subject: [PATCH] [WIP] remove data files & update computed function &
 add/remove fields

---
 __manifest__.py                 |   3 -
 data/mucs_company_type.xml      |  75 ------------
 data/mucs_cooperative_form.xml  |  31 -----
 data/union_regionale.xml        |  77 ------------
 models/mucs_commercial_event.py |  11 +-
 models/mucs_support_event.py    |   9 +-
 models/res_partner.py           |  52 +++++---
 security/ir.model.access.csv    |   2 +
 views/res_partner.xml           | 207 +++++++++++++++++++++++++-------
 9 files changed, 216 insertions(+), 251 deletions(-)
 delete mode 100644 data/mucs_company_type.xml
 delete mode 100644 data/mucs_cooperative_form.xml
 delete mode 100644 data/union_regionale.xml

diff --git a/__manifest__.py b/__manifest__.py
index 4491005..974f899 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -17,10 +17,7 @@
         "security/ir.model.access.csv",
         # datas
         "data/federation.xml",
-        "data/mucs_company_type.xml",
         "data/mucs_company_size.xml",
-        "data/mucs_cooperative_form.xml",
-        "data/union_regionale.xml",
         # views
         "views/res_partner.xml",
         "views/mucs_contract.xml",
diff --git a/data/mucs_company_type.xml b/data/mucs_company_type.xml
deleted file mode 100644
index 2c00c53..0000000
--- a/data/mucs_company_type.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" ?>
-<!-- TODO: noupdate en prod -->
-<odoo noupdate="0">
-    <!-- TODO: Revoir les id externes pour plus de simplicité -->
-    <record id="riga_14675" model="mucs.company.type">
-        <field name="name">Artisan / Commerçant</field>
-        <field name="is_coop" eval="0" />
-    </record>
-
-    <record id="asso" model="mucs.company.type">
-        <field name="name">Association loi 1901 ou assimilée</field>
-        <field name="is_coop" eval="0" />
-    </record>
-
-    <record id="riga_14673" model="mucs.company.type">
-        <field name="name">Collectivité territoriale</field>
-        <field name="is_coop" eval="0" />
-    </record>
-
-    <record id="riga_14674" model="mucs.company.type">
-        <field name="name">Profession libérale</field>
-        <field name="is_coop" eval="0" />
-    </record>
-
-    <record id="SARL" model="mucs.company.type">
-        <field name="name">Société à Responsabilité Limitée (SARL)</field>
-        <field name="is_coop" eval="1" />
-    </record>
-
-    <record id="SARLU" model="mucs.company.type">
-        <field
-            name="name"
-        >Société à Responsabilité Limitée (SARL) unipersonnelle</field>
-        <field name="is_coop" eval="0" />
-    </record>
-
-    <record id="SA" model="mucs.company.type">
-        <field name="name">Société Anonyme à Conseil d'Administration</field>
-        <field name="is_coop" eval="1" />
-    </record>
-
-    <record id="SA" model="mucs.company.type">
-        <field name="name">Société Anonyme à directoire</field>
-        <field name="is_coop" eval="1" />
-    </record>
-
-    <record id="riga_14677" model="mucs.company.type">
-        <field name="name">Société civile coopérative</field>
-        <field name="is_coop" eval="0" />
-    </record>
-
-    <record id="SCI" model="mucs.company.type">
-        <field name="name">Société Civile Immobilière (SCI)</field>
-        <field name="is_coop" eval="0" />
-    </record>
-
-    <record id="SELAS" model="mucs.company.type">
-        <field
-            name="name"
-        >Société d exercice libéral par action simplifiée (SELAS)</field>
-        <field name="is_coop" eval="0" />
-    </record>
-
-    <record id="SAS" model="mucs.company.type">
-        <field name="name">Société par actions simplifiée (SAS)</field>
-        <field name="is_coop" eval="1" />
-    </record>
-
-    <record id="SAS" model="mucs.company.type">
-        <field
-            name="name"
-        >Société par actions simplifiée à associé unique (SASU)</field>
-        <field name="is_coop" eval="0" />
-    </record>
-</odoo>
diff --git a/data/mucs_cooperative_form.xml b/data/mucs_cooperative_form.xml
deleted file mode 100644
index e7a01c6..0000000
--- a/data/mucs_cooperative_form.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" ?>
-<!-- TODO: noupdate en prod -->
-<odoo noupdate="0">
-    <record id="form_coop47" model="mucs.cooperative.form">
-        <field name="name">COOP47</field>
-    </record>
-
-    <record id="form_lamaneur" model="mucs.cooperative.form">
-        <field name="name">Lamaneur</field>
-    </record>
-
-    <record id="form_scic" model="mucs.cooperative.form">
-        <field name="name">SCIC</field>
-    </record>
-
-    <record id="form_scop" model="mucs.cooperative.form">
-        <field name="name">SCOP</field>
-    </record>
-
-    <record id="form_ues" model="mucs.cooperative.form">
-        <field name="name">UES</field>
-    </record>
-
-    <record id="form_unionscop" model="mucs.cooperative.form">
-        <field name="name">UNIONSCOP</field>
-    </record>
-
-    <record id="form_noncooperative" model="mucs.cooperative.form">
-        <field name="name">Non coopérative</field>
-    </record>
-</odoo>
diff --git a/data/union_regionale.xml b/data/union_regionale.xml
deleted file mode 100644
index dd8a5f5..0000000
--- a/data/union_regionale.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" ?>
-<!-- TODO: noupdate en prod -->
-<odoo noupdate="0">
-    <!-- TODO: Revoir les id externes pour plus de simplicité -->
-    <record id="riga_14231" model="union.regionale">
-        <field
-            name="long_name"
-        >UNION REGIONALE DES SCOP ILE DE FRANCE CENTRE VAL DE LOIRE DOM-TOM</field>
-        <field name="name">IdF, Val de Loire, Dom Tom</field>
-    </record>
-
-    <record id="riga_14232" model="union.regionale">
-        <field name="long_name">UNION REGIONALE DES SCOP HAUTS DE FRANCE</field>
-        <field name="name">Hauts-de-France</field>
-    </record>
-
-    <record id="riga_14233" model="union.regionale">
-        <field name="long_name">UNION REGIONALE DES SCOP BOURGOGNE FRANCHE COMTE</field>
-        <field name="name">Bourgogne</field>
-    </record>
-
-    <record id="riga_14234" model="union.regionale">
-        <field name="long_name">UNION REGIONALE DES SCOP GRAND EST</field>
-        <field name="name">Est</field>
-    </record>
-
-    <record id="riga_14353" model="union.regionale">
-        <field name="long_name">UNION REGIONALE DES SCOP AUVERGNE RHONE ALPES</field>
-        <field name="name">AURA</field>
-    </record>
-
-    <record id="riga_14237" model="union.regionale">
-        <field
-            name="long_name"
-        >UNION REGIONALE DES SCOP PROVENCE ALPES COTE D'AZUR CORSE</field>
-        <field name="name">Paca</field>
-    </record>
-
-    <record id="riga_14238" model="union.regionale">
-        <field
-            name="long_name"
-        >UNION REGIONALE DES SCOP D'OCCITANIE POLE PYRENEES</field>
-        <field name="name">Occitanie pole Pyrénées</field>
-    </record>
-
-    <record id="riga_14239" model="union.regionale">
-        <field name="long_name">UNION REGIONALE DES SCOP LIMOUSIN</field>
-        <field name="name">Limousin Berry</field>
-    </record>
-
-    <record id="riga_14240" model="union.regionale">
-        <field name="long_name">UNION REGIONALE DES SCOP POITOU CHARENTES</field>
-        <field name="name">Poitou Charentes</field>
-    </record>
-
-    <record id="riga_14241" model="union.regionale">
-        <field name="long_name">UNION REGIONALE DES SCOP OUEST</field>
-        <field name="name">Ouest</field>
-    </record>
-
-    <record id="riga_14242" model="union.regionale">
-        <field name="long_name">UNION REGIONALE DES SCOP AQUITAINE</field>
-        <field name="name">Aquitaine</field>
-    </record>
-
-    <record id="riga_14243" model="union.regionale">
-        <field
-            name="long_name"
-        >UNION REGIONALE DES SCOP D'OCCITANIE POLE MEDITERRANEE</field>
-        <field name="name">Occitanie pole Méditérranée</field>
-    </record>
-
-    <record id="ur_dom_tom" model="union.regionale">
-        <field name="long_name">PROGRAMME OUTRE MER</field>
-        <field name="name">POM</field>
-    </record>
-</odoo>
diff --git a/models/mucs_commercial_event.py b/models/mucs_commercial_event.py
index f02dfdc..f204e11 100644
--- a/models/mucs_commercial_event.py
+++ b/models/mucs_commercial_event.py
@@ -10,10 +10,15 @@ class MucsCommercialEvent(models.Model):
     _order = "date desc"
     _rec_name = "partner_id"
 
-    date = fields.Date("Date", required=True)
-    partner_id = fields.Many2one(comodel_name="res.partner", required=True)
+    date = fields.Date(required=True)
+    partner_id = fields.Many2one(
+        comodel_name="res.partner",
+        string="Entreprise",
+        domain="[('is_company', '=', True)]",
+        required=True,
+    )
     name = fields.Char("Sujet")
-    description = fields.Html("Description")
+    description = fields.Html()
     # TODO tags ?
     # categ_ids = fields.Many2one("X")
 
diff --git a/models/mucs_support_event.py b/models/mucs_support_event.py
index 461d4b0..c345eab 100644
--- a/models/mucs_support_event.py
+++ b/models/mucs_support_event.py
@@ -10,8 +10,13 @@ class MucsSupportEvent(models.Model):
     _order = "date desc"
     _rec_name = "partner_id"
 
-    date = fields.Date("Date", required=True)
-    partner_id = fields.Many2one(comodel_name="res.partner", required=True)
+    date = fields.Date(required=True)
+    partner_id = fields.Many2one(
+        comodel_name="res.partner",
+        string="Entreprise",
+        domain="[('is_company', '=', True)]",
+        required=True,
+    )
     qs = fields.Selection(string="Qualité de service", selection=[("s", "Satisfait")])
     theme = fields.Char("Thématique")
     topic = fields.Text("Sujet")
diff --git a/models/res_partner.py b/models/res_partner.py
index a51cf30..a6b4993 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -13,7 +13,7 @@ class ResPartner(models.Model):
 
     is_cooperative = fields.Boolean("Est une coopérative")
     is_member_cgscop = fields.Boolean("Est adhérent à la CG SCOP")
-    company_size_id = fields.Many2one("company.size", string="Tranche d'effectif")
+    company_size_id = fields.Many2one("mucs.company.size", string="Tranche d'effectif")
     company_size = fields.Integer(string="Effectif approximatif")
 
     # Note : peut-être utiliser l10n-france/l10n_fr_siret_lookup
@@ -27,12 +27,15 @@ class ResPartner(models.Model):
         copy=False,
         tracking=True,
     )
+    social_object = fields.Text("Objet Social")
+    activity_desc = fields.Text("Description de l'activité")
+
     # Note : pour l'instant str, à changer vers m2o quand on y verra plus clair
     ccn_idcc = fields.Char("CCN Code", related="ccn_id.idcc")
     ccn_titre = fields.Char("CCN Label", related="ccn_id.titre")
 
     is_member_sante = fields.Boolean(
-        "Adhérent Santé", compute="_compute_is_member_sante"
+        "Adhérent Santé", compute="_compute_is_member_sante", store=True
     )
     is_member_unmi = fields.Boolean("Adhérent UNMI")
     is_member_mutex = fields.Boolean("Adhérent MUTEX")
@@ -40,12 +43,17 @@ class ResPartner(models.Model):
         string="Assistance RMA", selection=[("base", "Base")]
     )
 
-    first_join_date = fields.Date("Date de première adhésion")
-    membership = fields.Boolean("Adhésion")
+    first_join_date = fields.Date(
+        string="Date de première adhésion",
+        compute="_compute_first_join_date",
+        store=True,
+        readonly=False,
+    )
     removal = fields.Boolean("Radiation")
     motive = fields.Char("Motif")
 
-    # overwrite state to compute it based on department which itself is computed from zip
+    # overwrite state to compute it based on department which itself is
+    # computed from zip
     state_id = fields.Many2one(
         comodel_name="res.country.state",
         string="State",
@@ -55,11 +63,10 @@ class ResPartner(models.Model):
     )
 
     # relations -----
-
-    company_form = fields.Many2one(
+    company_form_id = fields.Many2one(
         comodel_name="mucs.company.type", string="Forme juridique"
     )
-    cooperative_form = fields.Many2one(
+    cooperative_form_id = fields.Many2one(
         comodel_name="mucs.cooperative.form", string="Forme coopérative"
     )
 
@@ -73,7 +80,7 @@ class ResPartner(models.Model):
         comodel_name="res.partner.federation", string="Fédérations"
     )
 
-    contract_id = fields.One2many(
+    contract_ids = fields.One2many(
         comodel_name="mucs.contract",
         inverse_name="partner_id",
         string="Contrats",
@@ -84,7 +91,7 @@ class ResPartner(models.Model):
         comodel_name="mucs.commercial.event",
         inverse_name="partner_id",
     )
-    mgmt_event_ids = fields.One2many(
+    support_ids = fields.One2many(
         string="Suivi de gestion",
         comodel_name="mucs.support.event",
         inverse_name="partner_id",
@@ -101,24 +108,35 @@ class ResPartner(models.Model):
     # ------------------------------------------------------
     # Computed fields / Search Fields
     # ------------------------------------------------------
-
     @api.depends("siret")
     def _compute_siren(self):
         for partner in self:
             if partner.siret:
                 partner.siren = partner.siret.replace(" ", "")[0:9]
 
-    # TODO compute this
-    @api.depends("contract_id")
+    # TODO: valider la fonction
+    @api.depends("contract_ids", "contract_ids.date_end")
     def _compute_is_member_sante(self):
         for partner in self:
-            partner.is_member_sante = True
-            pass
+            if partner.contract_ids and partner.contract_ids.filtered(
+                lambda c: not c.date_end
+            ):
+                partner.is_member_sante = True
+            else:
+                partner.is_member_sante = False
+
+    # TODO: valider la fonction
+    @api.depends("contract_ids", "contract_ids.date_start")
+    def _compute_first_join_date(self):
+        for partner in self:
+            if partner.contract_ids:
+                partner.first_join_date = partner.contract_ids.sort("date_start")[
+                    0
+                ].date_start
 
     # ------------------------------------------------------
-    # Onchange / Constraints
+    # Constraints
     # ------------------------------------------------------
-
     @api.constrains("is_cooperative", "is_company")
     def _check_individual_not_cooperative(self):
         for record in self:
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index e50ac00..d12371d 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -6,6 +6,8 @@ access_mucs_commercial_event,access_mucs_commercial_event,model_mucs_commercial_
 access_mucs_support_event,access_mucs_support_event,model_mucs_support_event,base.group_user,1,1,1,1
 access_res_partner_federation,access_res_partner_federation,model_res_partner_federation,base.group_user,1,0,0,0
 access_mucs_company_type,access_mucs_company_type,model_mucs_company_type,base.group_user,1,0,0,0
+admin_mucs_company_type,admin_mucs_company_type,model_mucs_company_type,base.group_erp_manager,1,1,1,1
 access_mucs_cooperative_form,access_mucs_cooperative_form,model_mucs_cooperative_form,base.group_user,1,0,0,0
+admin_mucs_cooperative_form,admin_mucs_cooperative_form,model_mucs_cooperative_form,base.group_erp_manager,1,1,1,1
 access_union_regionale,access_union_regionale,model_union_regionale,base.group_user,1,0,0,0
 admin_union_regionale,admin_union_regionale,model_union_regionale,base.group_erp_manager,1,1,1,1
diff --git a/views/res_partner.xml b/views/res_partner.xml
index 8811c4d..9b12614 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -49,7 +49,6 @@
                 >
                     <group>
                         <group>
-                            <!--<field name="siret"/>-->
                             <field
                                 name="siret"
                                 readonly="1"
@@ -62,7 +61,7 @@
                             />
                             <field name="company_size_id" />
                             <field name="company_size" />
-                            <field name="company_form" />
+                            <field name="company_form_id" />
                             <field name="naf_id" string="APE" />
                             <!--<field name="ccn_id"/>-->
                             <field name="ccn_idcc" string="Numéro CCN" />
@@ -81,13 +80,18 @@
                                 invisible="not is_cooperative"
                             />
                             <field
-                                name="cooperative_form"
+                                name="cooperative_form_id"
                                 invisible="not is_cooperative"
                             />
                         </group>
                     </group>
-                    <group string="Descriptif Activité">
-                        <field name="comment" nolabel="1" />
+                    <group>
+                        <group string="Description de l'activité">
+                            <field name="activity_desc" nolabel="1" />
+                        </group>
+                        <group string="Objet Social">
+                            <field name="social_object" nolabel="1" />
+                        </group>
                     </group>
                 </page>
 
@@ -111,7 +115,7 @@
                     <group>
                         <group>
                             <field name="first_join_date" />
-                            <field name="membership" />
+                            <field name="is_member_sante" />
                         </group>
                         <group>
                             <field name="removal" />
@@ -120,7 +124,7 @@
                     </group>
                     <separator />
                     <group string="Contrats">
-                        <field name="contract_id" nolabel="1">
+                        <field name="contract_ids" nolabel="1">
                             <list>
                                 <field name="number" />
                                 <field name="type" />
@@ -156,7 +160,7 @@
                     invisible="not is_company"
                 >
                     <group string="Synthèse activité gestion">
-                        <field name="mgmt_event_ids" nolabel="1">
+                        <field name="support_ids" nolabel="1">
                             <list>
                                 <field name="date" />
                                 <field name="qs" />
@@ -172,50 +176,165 @@
     </record>
 
     <!-- List -->
-    <record id="view_partner_tree" model="ir.ui.view">
-        <field name="name">res.partner.list</field>
+    <record id="mucs_coop_partner_tree" model="ir.ui.view">
+        <field name="name">mucs.res.partner.list</field>
         <field name="model">res.partner</field>
-        <field name="inherit_id" ref="base.view_partner_tree" />
         <field name="arch" type="xml">
-            <xpath expr="//field[@name='complete_name']" position="after">
-                <field name="ur_id" optional="hide" />
-                <field name="state_id" optional="hide" />
+            <list>
+                <field name="complete_name" />
+                <field name="phone" />
+                <field name="email" />
+                <field name="city" optional="show" />
+                <field name="ur_id" optional="show" />
+                <field name="state_id" optional="show" />
+                <field name="naf_id" optional="show" />
+                <field name="ccn_id" optional="show" />
+                <field name="is_cooperative" optional="show" />
+                <field name="is_member_cgscop" optional="show" />
+                <field name="is_member_sante" optional="show" />
+                <field name="is_member_unmi" optional="show" />
+                <field name="is_member_mutex" optional="show" />
+                <field name="first_join_date" optional="show" />
+                <field name="company_size" optional="show" />
+
                 <field name="country_department_id" optional="hide" />
-            </xpath>
+                <field
+                    name="category_id"
+                    optional="hide"
+                    widget="many2many_tags"
+                    options="{'color_field': 'color'}"
+                />
+                <field name="activity_ids" optional="show" widget="list_activity" />
+                <field
+                    name="company_id"
+                    groups="base.group_multi_company"
+                    readonly="1"
+                />
+            </list>
         </field>
     </record>
 
-    <!-- Search View -->
-    <record id="search_partner" model="ir.ui.view">
-        <field name="name">res.partner.search</field>
+    <!-- Search  -->
+    <record id="mucs_coop_partner_search" model="ir.ui.view">
+        <field name="name">mucs.res.partner.search</field>
         <field name="model">res.partner</field>
-        <field name="inherit_id" ref="base.view_res_partner_filter" />
         <field name="arch" type="xml">
-            <!-- Search -->
-            <xpath expr="//field[@name='name']" position="after">
+            <search>
+                <!-- search -->
+                <field
+                    name="name"
+                    filter_domain="['|', '|', '|', '|', ('complete_name', 'ilike', self), ('ref', 'ilike', self), ('email', 'ilike', self), ('siren', 'ilike', self), ('company_registry', 'ilike', self)]"
+                />
+                <field name="email" filter_domain="[('email', 'ilike', self)]" />
+                <field
+                    name="phone"
+                    filter_domain="['|', ('phone', 'ilike', self), ('mobile', 'ilike', self)]"
+                />
+                <field name="category_id" string="Tag" operator="child_of" />
+                <field name="city" />
                 <field name="ur_id" />
-            </xpath>
-            <!-- Filters -->
-            <!--            <xpath expr="//filter[@name='inactive']" position="before">-->
-            <!--                <filter-->
-            <!--                    string="Adhérents"-->
-            <!--                    name="member_coop"-->
-            <!--                    domain="[('membership_status', 'not in', ['not_member', 'out'])]"-->
-            <!--                />-->
-            <!--                <filter-->
-            <!--                    string="Non Adhérents"-->
-            <!--                    name="not_member_coop"-->
-            <!--                    domain="[('membership_status', 'in', ['not_member', 'out'])]"-->
-            <!--                />-->
-            <!--            </xpath>-->
-            <!-- Group -->
-            <xpath expr="//filter[@name='salesperson']" position="before">
+                <field name="state_id" />
+                <field name="naf_id" />
+                <field name="ccn_id" />
+                <field name="federation_ids" />
+                <!-- filters -->
+                <separator />
                 <filter
-                    string="Région"
-                    name="group_state_id"
-                    context="{'group_by': 'state_id'}"
+                    string="Coopératives"
+                    name="coop"
+                    domain="[('is_cooperative', '=', True)]"
                 />
-            </xpath>
+                <filter
+                    string="Non coopératives"
+                    name="not_coop"
+                    domain="[('is_cooperative', '=', False)]"
+                />
+                <separator />
+                <filter
+                    string="Adhérent Santé"
+                    name="is_member_sante"
+                    domain="[('is_member_sante', '=', True)]"
+                />
+                <filter
+                    string="Non adhérent Santé"
+                    name="not_is_member_sante"
+                    domain="[('is_member_sante', '=', False)]"
+                />
+                <separator />
+                <filter
+                    string="Adhérent UNMI"
+                    name="is_member_unmi"
+                    domain="[('is_member_unmi', '=', True)]"
+                />
+                <filter
+                    string="Non adhérent UNMI"
+                    name="not_is_member_unmi"
+                    domain="[('is_member_unmi', '=', False)]"
+                />
+                <separator />
+                <filter
+                    string="Adhérent CG Scop"
+                    name="is_member_cgscop"
+                    domain="[('is_member_cgscop', '=', True)]"
+                />
+                <filter
+                    string="Non adhérent CG Scop"
+                    name="not_is_member_cgscop"
+                    domain="[('is_member_cgscop', '=', False)]"
+                />
+                <separator />
+                <filter
+                    string="Date de première adhésion"
+                    name="first_join_date"
+                    date="first_join_date"
+                />
+                <separator />
+                <filter
+                    string="Archivé"
+                    name="inactive"
+                    domain="[('active', '=', False)]"
+                />
+                <separator />
+                <!-- group -->
+                <group expand="0" name="group_by" string="Group By">
+                    <filter
+                        name="group_ur_id"
+                        string="Union Régionale"
+                        context="{'group_by': 'ur_id'}"
+                    />
+                    <filter
+                        name="group_state_id"
+                        string="Région"
+                        context="{'group_by': 'parent_id'}"
+                    />
+                    <filter
+                        name="group_naf_id"
+                        string="Code Naf"
+                        context="{'group_by': 'naf_id'}"
+                    />
+                    <filter
+                        name="group_ccn_id"
+                        string="Convention Collective"
+                        context="{'group_by': 'ccn_id'}"
+                    />
+                    <filter
+                        name="group_company_size_id"
+                        string="Tranche d'effectif"
+                        context="{'group_by': 'company_size_id'}"
+                    />
+                </group>
+                <!-- searchpanel -->
+                <searchpanel view_types="list,pivot,graph">
+                    <field name="ur_id" expand="1" select="multi" enable_counters="1" />
+                    <field
+                        name="company_size_id"
+                        expand="0"
+                        select="multi"
+                        icon="fa-check-square-o"
+                        enable_counters="1"
+                    />
+                </searchpanel>
+            </search>
         </field>
     </record>
 
@@ -225,7 +344,7 @@
         <field name="type">ir.actions.act_window</field>
         <field name="res_model">res.partner</field>
         <field name="view_mode">list,pivot,graph,form</field>
-        <field name="search_view_id" ref="search_partner" />
+        <field name="search_view_id" ref="mucs_coop_partner_search" />
         <field name="domain">[('is_cooperative', '=', True)]</field>
         <field name="path">coop</field>
         <field name="context">
@@ -236,7 +355,9 @@
         </field>
         <field
             name="view_ids"
-            eval="[(5, 0, 0), (0, 0, {'view_mode': 'list', 'view_id': ref('view_partner_tree')}),]"
+            eval="[
+                (5, 0, 0),
+                (0, 0, {'view_mode': 'list', 'view_id': ref('mucs_coop_partner_tree')}),]"
         />
     </record>
 </odoo>
-- 
GitLab