From 81bfa8874bf9616063364e91579486fa92dd1d07 Mon Sep 17 00:00:00 2001
From: Remi <remi@le-filament.com>
Date: Wed, 18 Sep 2019 18:24:46 +0200
Subject: [PATCH] Add SCOP period and rework views

---
 models/__init__.py                |   1 +
 models/res_partner.py             | 310 ++++++++++----------
 models/scop_period.py             |  66 +++++
 security/ir.model.access.csv      |   2 +
 views/res_partner.xml             |   6 +-
 views/res_partner_cooperative.xml | 454 ++++++++++++++++--------------
 6 files changed, 461 insertions(+), 378 deletions(-)
 create mode 100644 models/scop_period.py

diff --git a/models/__init__.py b/models/__init__.py
index db6db18..379f5d7 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -9,6 +9,7 @@ from . import scop_legal_event
 from . import scop_liasse_fiscale
 from . import scop_membership
 from . import scop_ministry_list
+from . import scop_period
 from . import scop_questionnaire
 from . import scop_revision
 from . import scop_staff
diff --git a/models/res_partner.py b/models/res_partner.py
index ff4c2b0..bbfdc47 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -18,35 +18,8 @@ class ScopPartner(models.Model):
     # A garder ?
     unique_id_si_ur = fields.Char("Identifiant unique SI UR")
     unique_id_si_cg = fields.Char("Identifiant unique SI CG")
-    company_id = fields.Many2one(
-        'res.company',
-        string='Union Régionale',
-        index=True,
-        on_delete='restrict',
-        default=_default_company)
-    siren = fields.Char(string='SIREN', size=9)
-    registration_date = fields.Date(
-        string="Date d'immatriculation RCS")
-    dissolution_date = fields.Date('Date de Décès')
-    dissolution_reason_id = fields.Many2one(
-        'res.partner.dissolution.reason',
-        string="Motif Décés",
-        on_delete='restrict')
-    social_object = fields.Char('Objet Social')
 
-    admin_email = fields.Char('E-mail administratif')
-
-    # Informations coopératives
-    creation_origin = fields.Selection(
-        [('null', 'Ex-nihilo'),
-         ('transformation', 'Transformation'),
-         ('transmission', 'Transmission'),
-         ('takeover', 'reprise')],
-        string='Origine création en coop')
-    creation_suborigin_id = fields.Many2one(
-        'res.partner.creation.suborigin',
-        string="Sous-Origine création en coop",
-        on_delete='restrict')
+    # Informations Bandeau
     project_status = fields.Selection(
         [('1_information', "Phase d'information"),
          ('2_pre-diagnostic', 'Phase de pré-diagnostic'),
@@ -56,6 +29,38 @@ class ScopPartner(models.Model):
          ('6_abandonne', 'Projet abandonné')],
         track_visibility='onchange',
         string='Statut projet')
+    cooperative_form_id = fields.Many2one(
+        'res.partner.cooperative.form',
+        string="Cooperative form",
+        on_delete='restrict')
+    partner_company_type_id = fields.Many2one(
+        comodel_name='res.partner.company.type',
+        string='Legal Form',
+        on_delete='restrict')
+    membership_status = fields.Selection(
+        [('member', 'Adhérent'),
+         ('not_member', 'Non Adhérent'),
+         ('out', 'Radié')],
+        string="Statuts d'adhésion")
+    member_number = fields.Char("No adhérent")
+    cae = fields.Boolean("CAE")
+
+    # Infos générales / Contact
+    admin_email = fields.Char('E-mail administratif')
+    facebook = fields.Char("Facebook")
+    linkedin = fields.Char("LinkedIn")
+    twitter = fields.Char("Twitter")
+    director_ids = fields.One2many(
+        'res.partner', 'parent_id',
+        string='Contacts Dirigeants')
+
+    # Infos générales / Suivi UR
+    company_id = fields.Many2one(
+        'res.company',
+        string='Union Régionale',
+        index=True,
+        on_delete='restrict',
+        default=_default_company)
     creation_delegate_id = fields.Many2one(
         'res.partner',
         string='Délégué de création',
@@ -66,47 +71,56 @@ class ScopPartner(models.Model):
         string='Délégué de suivi',
         domain=[('user_ids', '>', 0)],
         on_delete='restrict')
-    bank_id = fields.Many2one(
-        'res.partner',
-        string='Banque principale',
-        domain=[('is_company', '=', True)],
-        on_delete='restrict')
-    bank2_id = fields.Many2one(
-        'res.partner',
-        string='Banque secondaire',
-        domain=[('is_company', '=', True)],
-        on_delete='restrict')
-    direccte_id = fields.Many2one(
-        'res.partner',
-        string='DIRECCTE rattachée',
-        domain=[('is_company', '=', True)],
+    parent_group_name = fields.Char('Coopérative mère')
+
+    # Infos générales / Infos activité
+    creation_origin = fields.Selection(
+        [('null', 'Ex-nihilo'),
+         ('transformation', 'Transformation'),
+         ('transmission', 'Transmission'),
+         ('takeover', 'reprise')],
+        string='Origine création en coop')
+    creation_suborigin_id = fields.Many2one(
+        'res.partner.creation.suborigin',
+        string="Sous-Origine création en coop",
         on_delete='restrict')
     date_1st_sign = fields.Date(
         'Date 1er signature coop')
-    last_update_status = fields.Date('Dernière mise à jour des statuts')
-    auditor_id = fields.Many2one(
-        'res.partner',
-        string='Commissaire aux Comptes',
-        domain=[('is_company', '=', True)],
-        on_delete='restrict')
-    accountant_id = fields.Many2one(
-        'res.partner',
-        string='Expert-Comptable',
-        domain=[('is_company', '=', True)],
+    registration_date = fields.Date(
+        string="Date d'immatriculation RCS")
+    social_object = fields.Char('Objet Social')
+    ape_id = fields.Many2one(
+        'res.partner.category',
+        string='APE',
+        help="If the partner is a French company, enter its official "
+        "main activity in this field. The APE is chosen among the "
+        "NAF nomenclature.",
         on_delete='restrict')
+    industry_id = fields.Many2one('res.partner.industry', 'Industry',
+                                  on_delete='restrict')
+    certification_ids = fields.Many2many(
+        comodel_name='res.partner.certification',
+        string='Agrément', on_delete='restrict')
+    siret = fields.Char(string='SIRET', size=14)
+    first_closeout = fields.Date(
+        'Date clôture 1er bilan en coopérative')
+    closeout_month = fields.Selection(
+        [(1, 'Janvier'),
+         (2, 'Février'),
+         (3, 'Mars'),
+         (4, 'Avril'),
+         (5, 'Mai'),
+         (6, 'Juin'),
+         (7, 'Juillet'),
+         (8, 'Août'),
+         (9, 'Septembre'),
+         (10, 'Octobre'),
+         (11, 'Novembre'),
+         (12, 'Décembre')],
+        string='Mois clôture exercices', default=12)
     is_seed_scop = fields.Boolean("Est une SCOP d'amorçage")
     seed_end = fields.Date("Date de fin du dispositif d'amorçage",
                            default=str(datetime.today() + timedelta(2556)))
-    auditor_person_id = fields.Many2one(
-        'res.partner',
-        string='Commissaire aux Comptes (personne)',
-        domain=[('is_company', '=', False)],
-        on_delete='restrict')
-    accountant_person_id = fields.Many2one(
-        'res.partner',
-        string='Expert-Comptable (personne)',
-        domain=[('is_company', '=', False)],
-        on_delete='restrict')
     is_incubated = fields.Boolean("Est incubé")
     incubator_id = fields.Many2one(
         'res.partner',
@@ -118,117 +132,56 @@ class ScopPartner(models.Model):
         string='Canal de Prescription',
         on_delete='restrict')
 
-    # Informations de révision
-    revision_contract = fields.Date("Date du contrat de révision")
-    revision_company_id = fields.Many2one(
+    # Infos juridiques
+    siren = fields.Char(string='SIREN', size=9)
+    dissolution_date = fields.Date('Date de Décès')
+    dissolution_reason_id = fields.Many2one(
+        'res.partner.dissolution.reason',
+        string="Motif Décés",
+        on_delete='restrict')
+
+    # Partenaires
+    bank_id = fields.Many2one(
         'res.partner',
-        string='Organisme de révision',
+        string='Banque principale',
         domain=[('is_company', '=', True)],
         on_delete='restrict')
-    revision_backup_company_id = fields.Many2one(
+    bank2_id = fields.Many2one(
         'res.partner',
-        string='Organisme de révision suppléant',
+        string='Banque secondaire',
         domain=[('is_company', '=', True)],
         on_delete='restrict')
-    revision_person_id = fields.Many2one(
+    accountant_id = fields.Many2one(
         'res.partner',
-        string='Réviseur agréé',
-        domain=[('is_company', '=', False)],
+        string='Expert-Comptable',
+        domain=[('is_company', '=', True)],
         on_delete='restrict')
-    revision_certified_person_id = fields.Many2one(
+    accountant_person_id = fields.Many2one(
         'res.partner',
-        string='Réviseur',
+        string='Expert-Comptable (personne)',
         domain=[('is_company', '=', False)],
         on_delete='restrict')
-    revision_person_assign_date = fields.Date("Date de nomination du réviseur")
-    revision_type = fields.Selection(
-        [('1y', "Annuelle"),
-         ('5y', 'Quinquennale'),
-         ('5ys', "Quinquennale séquencée")],
-        string='Périodicité de la révision')
-    revision_format_id = fields.Many2one(
-        'scop.revision.format',
-        string='Format de révision',
+    auditor_id = fields.Many2one(
+        'res.partner',
+        string='Commissaire aux Comptes',
+        domain=[('is_company', '=', True)],
+        on_delete='restrict')
+    auditor_person_id = fields.Many2one(
+        'res.partner',
+        string='Commissaire aux Comptes (personne)',
+        domain=[('is_company', '=', False)],
         on_delete='restrict')
-    revision_staff_id = fields.Integer(string='Effectif révision')
-    revision_last_date = fields.Date("Dernier exercice révisé")
-    revision_next_date = fields.Date("Prochain exercice révisable")
 
-    # Informations fiscales/financières
-    first_closeout = fields.Date(
-        'Date clôture 1er bilan en coopérative')
-    closeout_month = fields.Selection(
-        [(1, 'Janvier'),
-         (2, 'Février'),
-         (3, 'Mars'),
-         (4, 'Avril'),
-         (5, 'Mai'),
-         (6, 'Juin'),
-         (7, 'Juillet'),
-         (8, 'Août'),
-         (9, 'Septembre'),
-         (10, 'Octobre'),
-         (11, 'Novembre'),
-         (12, 'Décembre')],
-        string='Mois clôture exercices', default=12)
+    # Contacts / Adresses
+    is_main_location = fields.Boolean("Est l'établissement principal")
 
-    # Infos suivies
-    # Infos organismes
-    cooperative_form_id = fields.Many2one(
-        'res.partner.cooperative.form',
-        string="Cooperative form",
-        track_visibility='onchange',
-        on_delete='restrict')
-    cae = fields.Boolean("CAE", track_visibility='onchange')
-    siret = fields.Char(string='SIRET', size=14, track_visibility='onchange')
-    name = fields.Char(index=True, track_visibility='always')
-    street = fields.Char(track_visibility='onchange')
-    street2 = fields.Char(track_visibility='onchange')
-    street3 = fields.Char(track_visibility='onchange')
-    zip_id = fields.Many2one('res.city.zip', 'ZIP Location',
-                             track_visibility='onchange')
-    city = fields.Char(track_visibility='onchange')
-    city_id = fields.Many2one('res.city', string='City of Address',
-                              track_visibility='onchange')
-    state_id = fields.Many2one(
-        "res.country.state",
-        string='State',
-        ondelete='restrict',
-        domain="[('country_id', '=?', country_id)]",
-        track_visibility='onchange')
-    country_id = fields.Many2one(
-        'res.country', string='Country', ondelete='restrict',
-        track_visibility='onchange')
-    is_main_location = fields.Boolean("Est l'établissement principal",
-                                      track_visibility='onchange')
-    parent_group_name = fields.Char('Nom du groupe parent',
-                                    track_visibility='onchange')
-
-    # Informations juridiques
-    partner_company_type_id = fields.Many2one(
-        comodel_name='res.partner.company.type',
-        string='Legal Form',
-        track_visibility='onchange',
-        on_delete='restrict'
-    )
-    ape_id = fields.Many2one(
-        'res.partner.category',
-        string='APE',
-        help="If the partner is a French company, enter its official "
-        "main activity in this field. The APE is chosen among the "
-        "NAF nomenclature.",
-        track_visibility='onchange',
-        on_delete='restrict'
-    )
-    certification_ids = fields.Many2many(
-        comodel_name='res.partner.certification',
-        string='Agrement', track_visibility='onchange',
-        on_delete='restrict')
-    industry_id = fields.Many2one('res.partner.industry', 'Industry',
-                                  track_visibility='onchange',
-                                  on_delete='restrict')
 
-    # Autres Informations
+    # Périodes juridiques
+    scop_period_ids = fields.One2many(
+        comodel_name='scop.period',
+        inverse_name='partner_id',
+        string="Périodes Juridiques")
+
     # Période d'adhésion
     membership_period_ids = fields.One2many(
         comodel_name='scop.membership.period',
@@ -242,6 +195,12 @@ class ScopPartner(models.Model):
         string='Cotisations')
 
     # Liste Ministère
+    direccte_id = fields.Many2one(
+        'res.partner',
+        string='DIRECCTE rattachée',
+        domain=[('is_company', '=', True)],
+        on_delete='restrict')
+    last_update_status = fields.Date('Dernière mise à jour des statuts')
     ministry_list_ids = fields.One2many(
         comodel_name='scop.ministry.list',
         inverse_name='partner_id',
@@ -266,6 +225,41 @@ class ScopPartner(models.Model):
         string='Effectifs')
 
     # Révisions
+    revision_contract = fields.Date("Date du contrat de révision")
+    revision_company_id = fields.Many2one(
+        'res.partner',
+        string='Organisme de révision',
+        domain=[('is_company', '=', True)],
+        on_delete='restrict')
+    revision_backup_company_id = fields.Many2one(
+        'res.partner',
+        string='Organisme de révision suppléant',
+        domain=[('is_company', '=', True)],
+        on_delete='restrict')
+    revision_person_id = fields.Many2one(
+        'res.partner',
+        string='Réviseur',
+        domain=[('is_company', '=', False)],
+        on_delete='restrict')
+    revision_certified_person_id = fields.Many2one(
+        'res.partner',
+        string='Réviseur agréé',
+        domain=[('is_company', '=', False)],
+        on_delete='restrict')
+    revision_person_assign_date = fields.Date("Date de nomination du réviseur")
+    revision_type = fields.Selection(
+        [('1y', "Annuelle"),
+         ('5y', 'Quinquennale'),
+         ('5ys', "Quinquennale séquencée")],
+        string='Périodicité de la révision')
+    revision_format_id = fields.Many2one(
+        'scop.revision.format',
+        string='Format de révision',
+        on_delete='restrict')
+    revision_last_date = fields.Date("Dernier exercice révisé")
+    revision_next_date = fields.Date("Prochain exercice révisable")
+    revision_staff_id = fields.Integer(string='Effectif révision')
+
     revision_ids = fields.One2many(
         comodel_name='scop.revision',
         inverse_name='partner_id',
diff --git a/models/scop_period.py b/models/scop_period.py
new file mode 100644
index 0000000..6e5288e
--- /dev/null
+++ b/models/scop_period.py
@@ -0,0 +1,66 @@
+# © 2019 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import models, fields, api
+
+
+class ScopPeriod(models.Model):
+    _name = "scop.period"
+    _description = "SCOP Period"
+    _order = "partner_id, start desc"
+
+    # Infos générales
+    partner_id = fields.Many2one(
+        comodel_name='res.partner',
+        string='Organisme',
+        domain=[('is_cooperative', '=', True)],
+        ondelete='restrict', required=True)
+    start = fields.Date('Début de validité', required=True,
+                        default='2019-01-01')
+    end = fields.Date('Fin de validité')
+    end_reason = fields.Selection(
+        [('juri', "Modification de la forme juridique"),
+         ('form', "Changement de forme coopérative"),
+         ('acti', "Changement d'activité (NAF)"),
+         ('adr', "Changement d'adresse"),
+         ('nom', "Changement de dénomination sociale"),
+         ('autr', "Autres")],
+        string='Motif de fin de validité', default='autr')
+    comments = fields.Text('Commentaires')
+    name = fields.Char('Raison Sociale', required=True)
+    cooperative_form_id = fields.Many2one(
+        'res.partner.cooperative.form',
+        string="Cooperative form",
+        on_delete='restrict', required=True)
+    partner_company_type_id = fields.Many2one(
+        comodel_name='res.partner.company.type',
+        string='Legal Form',
+        track_visibility='onchange',
+        on_delete='restrict', required=True)
+    siret = fields.Char(string='SIRET', size=14, required=True)
+    street = fields.Char()
+    street2 = fields.Char()
+    street3 = fields.Char()
+    zip = fields.Char()
+    zip_id = fields.Many2one('res.city.zip', 'ZIP Location')
+    city = fields.Char()
+    city_id = fields.Many2one('res.city', string='City of Address')
+    state_id = fields.Many2one(
+        "res.country.state",
+        string='State',
+        ondelete='restrict',
+        domain="[('country_id', '=?', country_id)]")
+    country_id = fields.Many2one(
+        'res.country', string='Country', ondelete='restrict')
+    ape_id = fields.Many2one(
+        'res.partner.category',
+        string='APE',
+        help="If the partner is a French company, enter its official "
+        "main activity in this field. The APE is chosen among the "
+        "NAF nomenclature.",
+        on_delete='restrict')
+    industry_id = fields.Many2one('res.partner.industry', 'Industry',
+                                  on_delete='restrict')
+    cae = fields.Boolean("CAE")
+    parent_group_name = fields.Char('Coopérative mère')
+    is_main_location = fields.Boolean("Est l'établissement principal")
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index a8215e3..5d52cf1 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -26,3 +26,5 @@ access_scop_membership_reason_end,access_scop_membership_reason_end,model_scop_m
 access_scop_revision_format,access_scop_revision_format,model_scop_revision_format,base.group_user,1,1,1,1
 access_scop_revision_staff,access_scop_revision_staff,model_scop_revision_staff,base.group_user,1,1,1,1
 access_scop_staff_collection,access_scop_staff_collection,model_scop_staff_collection,base.group_user,1,1,1,1
+access_res_partner_prescriber_canal,access_res_partner_prescriber_canal,model_res_partner_prescriber_canal,base.group_user,1,1,1,1
+access_scop_period,access_scop_period,model_scop_period,base.group_user,1,1,1,1
diff --git a/views/res_partner.xml b/views/res_partner.xml
index c7f9b6f..8517951 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -96,11 +96,10 @@
             <field name="type">ir.actions.act_window</field>
             <field name="res_model">res.partner</field>
             <field name="view_type">form</field>
-            <field name="view_mode">kanban,tree,form</field>
+            <field name="view_mode">tree,form</field>
             <field name="search_view_id" ref="base.view_res_partner_filter"/>
             <field name="context">{'search_default_type_person': 1}</field>
             <field name="view_ids" eval="[(5, 0, 0),
-                (0, 0, {'view_mode': 'kanban', 'view_id': ref('base.res_partner_kanban_view')}),
                 (0, 0, {'view_mode': 'tree', 'view_id': ref('base.view_partner_tree')}),
                 (0, 0, {'view_mode': 'form', 'view_id': ref('base.view_partner_form')})]"/>
         </record>
@@ -111,11 +110,10 @@
             <field name="type">ir.actions.act_window</field>
             <field name="res_model">res.partner</field>
             <field name="view_type">form</field>
-            <field name="view_mode">kanban,tree,form</field>
+            <field name="view_mode">tree,form</field>
             <field name="search_view_id" ref="base.view_res_partner_filter"/>
             <field name="context">{'search_default_type_company': 1}</field>
             <field name="view_ids" eval="[(5, 0, 0),
-                (0, 0, {'view_mode': 'kanban', 'view_id': ref('base.res_partner_kanban_view')}),
                 (0, 0, {'view_mode': 'tree', 'view_id': ref('base.view_partner_tree')}),
                 (0, 0, {'view_mode': 'form', 'view_id': ref('base.view_partner_form')})]"/>
         </record>
diff --git a/views/res_partner_cooperative.xml b/views/res_partner_cooperative.xml
index 5d27cc7..03758dc 100644
--- a/views/res_partner_cooperative.xml
+++ b/views/res_partner_cooperative.xml
@@ -41,80 +41,27 @@
             </field>
         </record>
 
-        <!-- Partner Kanban View -->
-        <record model="ir.ui.view" id="view_partner_cooperative_kanban">
+        <!-- KANBAN -->
+        <record id="view_partner_cooperative_kanban" model="ir.ui.view">
             <field name="name">cooperative.kanban</field>
             <field name="model">res.partner</field>
+            <field name="inherit_id" ref="base.res_partner_kanban_view"/>
             <field name="arch" type="xml">
-                <kanban class="o_res_partner_kanban" default_group_by="project_status">
-                    <field name="id"/>
-                    <field name="color"/>
-                    <field name="display_name"/>
-                    <field name="title"/>
-                    <field name="email"/>
-                    <field name="parent_id"/>
-                    <field name="is_company"/>
-                    <field name="function"/>
-                    <field name="phone"/>
-                    <field name="street"/>
-                    <field name="street2"/>
-                    <field name="street3"/>
-                    <field name="zip"/>
-                    <field name="city"/>
-                    <field name="country_id"/>
-                    <field name="mobile"/>
-                    <field name="state_id"/>
-                    <field name="category_id"/>
-                    <field name="image_small"/>
-                    <field name="type"/>
-                    <templates>
-                        <t t-name="kanban-box">
-                            <div class="oe_kanban_global_click o_kanban_record_has_image_fill o_res_partner_kanban">
-                                <t t-if="record.image_small.raw_value &amp;&amp; !record.is_company.raw_value">
-                                    <div class="o_kanban_image_fill_left d-none d-md-block" t-attf-style="background-image:url('#{kanban_image('res.partner', 'image_medium', record.id.raw_value)}')">
-                                        <img class="o_kanban_image_inner_pic" t-if="record.parent_id.raw_value" t-att-alt="record.parent_id.value" t-att-src="kanban_image('res.partner', 'image_small', record.parent_id.raw_value)"/>
-                                    </div>
-                                    <div class="o_kanban_image rounded-circle d-md-none" t-attf-style="background-image:url('#{kanban_image('res.partner', 'image_small', record.id.raw_value)}')">
-                                        <img class="o_kanban_image_inner_pic" t-if="record.parent_id.raw_value" t-att-alt="record.parent_id.value" t-att-src="kanban_image('res.partner', 'image_small', record.parent_id.raw_value)"/>
-                                    </div>
-                                </t>
-                                <t t-elif="record.is_company.raw_value">
-                                    <img class="o_kanban_image" t-att-src="kanban_image('res.partner', 'image_small', record.id.raw_value)" t-att-alt="record.display_name"/>
-                                </t>
-                                <t t-else="">
-                                    <t t-if="record.type.raw_value === 'delivery'">
-                                        <img alt="Delivery" t-att-src='_s + "/base/static/img/truck.png"' class="o_kanban_image oe_kanban_avatar_smallbox"/>
-                                    </t>
-                                    <t t-if="record.type.raw_value === 'invoice'">
-                                        <img alt="Invoice" t-att-src='_s + "/base/static/img/money.png"' class="o_kanban_image oe_kanban_avatar_smallbox"/>
-                                    </t>
-                                    <t t-if="record.type.raw_value != 'invoice' &amp;&amp; record.type.raw_value != 'delivery'">
-                                        <t t-if="record.is_company.raw_value === true">
-                                            <img class="o_kanban_image" alt="Logo" t-att-src='_s + "/base/static/img/company_image.png"'/>
-                                        </t>
-                                        <t t-if="record.is_company.raw_value === false">
-                                            <img class="o_kanban_image" alt="Avatar" t-att-src='_s + "/base/static/img/avatar.png"'/>
-                                        </t>
-                                    </t>
-                                </t>
-                                <div class="oe_kanban_details">
-                                    <strong class="o_kanban_record_title oe_partner_heading"><field name="display_name"/></strong>
-                                    <div class="o_kanban_tags_section oe_kanban_partner_categories"/>
-                                    <ul>
-                                        <li t-if="record.parent_id.raw_value and !record.function.raw_value"><field name="parent_id"/></li>
-                                        <li t-if="!record.parent_id.raw_value and record.function.raw_value"><field name="function"/></li>
-                                        <li t-if="record.parent_id.raw_value and record.function.raw_value"><field name="function"/> at <field name="parent_id"/></li>
-                                        <li t-if="record.city.raw_value and !record.country_id.raw_value"><field name="city"/></li>
-                                        <li t-if="!record.city.raw_value and record.country_id.raw_value"><field name="country_id"/></li>
-                                        <li t-if="record.city.raw_value and record.country_id.raw_value"><field name="city"/>, <field name="country_id"/></li>
-                                        <li t-if="record.email.raw_value" class="o_text_overflow"><field name="email"/></li>
-                                    </ul>
-                                    <div class="oe_kanban_partner_links"/>
-                                </div>
-                            </div>
-                        </t>
-                    </templates>
-                </kanban>
+                <xpath expr="//kanban" position="attributes">
+                    <attribute name="default_group_by">project_status</attribute>
+                    <attribute name="archivable">false</attribute>
+                    <attribute name="group_create">false</attribute>
+                    <attribute name="group_edit">false</attribute>
+                    <attribute name="group_delete">false</attribute>
+                </xpath>
+                <xpath expr="//kanban/field[@name='type']" position="after">
+                    <field name="activity_ids" />
+                    <field name="activity_state" />
+                    <progressbar field="activity_state" colors='{"planned": "success", "today": "warning", "overdue": "danger"}' />
+                </xpath>
+                <xpath expr="//div[@class='oe_kanban_partner_links']" position="after">
+                    <field name="activity_ids" widget="kanban_activity"/>
+                </xpath>
             </field>
         </record>
 
@@ -145,122 +92,228 @@
                             <field name="is_cooperative" invisible="1"/>
                             <field name="type" attrs="{'invisible': [('parent_id','=', False)]}" groups="base.group_no_one"/>
                             <h1>
-                                <field name="name" default_focus="1" placeholder="Name" required="True"/>
+                                <field name="name" default_focus="1" placeholder="Name" readonly="True"/>
                             </h1>
+                            <group>
+                                <field name="cooperative_form_id" readonly="True"/>
+                                <field name="partner_company_type_id" readonly="True"/>
+                                <field name="membership_status" readonly="True"/>
+                                <field name="member_number" readonly="True"/>
+                                <field name="cae" readonly="True"/>
+                                <field name="supplier" invisible="True"/>
+                                <field name="customer" invisible="True"/>
+                                <field name="user_id" invisible="True"/>
+                            </group>
                         </div>
-
-                       <group>
-                            <group string="Infos générales">
-                                <field name="social_object" attrs="{'required':[('project_status','in',('2_pre-diagnostic','3_accompagnement','4_adhesion', '5_suivi'))]}"/>
-                                <field name="partner_company_type_id" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                                <field name="certification_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}"
-                                    attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                                <field name="website" widget="url" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                                <field name="siren" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                                <field name="siret" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                                <field name="ape_id" context="{'partner_category_display': 'short'}" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"
-                                    domain="[('parent_id', 'child_of', %(l10n_eu_nace.nace_root)d), ('child_ids', '=', False)]" options='{"always_reload": True}'/>
-                                <field name="industry_id" options="{'no_create': True}" can_create="true" can_write="true"
-                                    attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
+                       <group string="Informations Générales">
+                            <group string="Contact">
+                                <field name="country_enforce_cities" invisible="1" modifiers="{'readonly':true, 'invisible':true}"/>
+                                <label for='street' string="Adresse Administrative"/>
+                                <div class="o_address_format" modifiers="{}">
+                                    <field name="street" readonly="True"/>
+                                    <field name="street2" readonly="True"/>
+                                    <field name="street3" readonly="True"/>
+                                    <field name="zip_id" readonly="True"/>
+                                    <field name="zip" readonly="True"/>
+                                    <field name="city" readonly="True" attrs="{'invisible': [('country_enforce_cities', '=', True), ('city_id', '!=', False)]}" />
+                                    <field name="city_id" string="Ville" readonly="True" attrs="{'invisible': [('country_enforce_cities', '=', False)]}" />
+                                    <field name="state_id" invisible="True"/>
+                                    <field name="country_id" readonly="True"/>
+                                </div>
+                                <field name="phone" widget="phone" string="Téléphone 1"/>
+                                <field name="mobile" widget="phone" string="Téléphone 2"/>
+                                <field name="admin_email" widget="email" string="E-mail administratif"/>
+                                <field name="email" widget="email" string="E-mail commercial"/>
+                                <field name="website" widget="url"/>
+                                <field name="facebook" widget="url"/>
+                                <field name="linkedin" widget="url"/>
+                                <field name="twitter" widget="url"/>
+                                <!--field name="director_ids" mode="kanban"
+                                    context="{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_city': city, 'default_state_id': state_id, 'default_zip': zip, 'default_city_id': city_id, 'default_zip_id': zip_id, 'default_country_id': country_id, 'default_supplier': supplier, 'default_customer': customer, 'default_lang': lang, 'default_user_id': user_id, 'default_type': 'contact'}">
+                                    <kanban>
+                                        <field name="id"/>
+                                        <field name="color"/>
+                                        <field name="name"/>
+                                        <field name="title"/>
+                                        <field name="type"/>
+                                        <field name="email"/>
+                                        <field name="parent_id"/>
+                                        <field name="is_company"/>
+                                        <field name="function"/>
+                                        <field name="phone"/>
+                                        <field name="street"/>
+                                        <field name="street2"/>
+                                        <field name="street3"/>
+                                        <field name="zip"/>
+                                        <field name="zip_id"/>
+                                        <field name="city"/>
+                                        <field name="city_id"/>
+                                        <field name="country_id"/>
+                                        <field name="mobile"/>
+                                        <field name="state_id"/>
+                                        <field name="image_small"/>
+                                        <field name="lang"/>
+                                        <field name="comment"/>
+                                        <field name="customer"/>
+                                        <field name="display_name"/>
+                                        <field name="supplier"/>
+                                        <templates>
+                                            <t t-name="kanban-box">
+                                                <t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
+                                                <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'">
+                                                    <div class="oe_kanban_details">
+                                                        <field name="name"/>
+                                                        <div t-if="record.function.raw_value"><field name="function"/></div>
+                                                        <div t-if="record.email.raw_value"><field name="email" widget="email"/></div>
+                                                        <div t-if="record.phone.raw_value">Phone: <field name="phone" widget="phone"/></div>
+                                                        <div t-if="record.mobile.raw_value">Mobile: <field name="mobile" widget="phone"/></div>
+                                                    </div>
+                                                </div>
+                                            </t>
+                                        </templates>
+                                    </kanban>
+                                    <form string="Contact Dirigeant">
+                                        <sheet>
+                                            <field name="type" invisible="1" widget="radio" options="{'horizontal': true}"/>
+                                            <field name="parent_id" invisible="1"/>
+                                            <group>
+                                                <group invisible="1">
+                                                    <field name="country_enforce_cities"/>
+                                                    <field name="street"/>
+                                                    <field name="street2"/>
+                                                    <field name="street3"/>
+                                                    <field name="zip_id"/>
+                                                    <field name="zip"/>
+                                                    <field name="city"/>
+                                                    <field name="city_id"/>
+                                                    <field name="state_id"/>
+                                                    <field name="country_id"/>
+                                                </group>
+                                                <group>
+                                                    <field name="name" string="Contact Name" attrs="{'required' : [('type', '=', 'contact')]}"/>
+                                                    <field name="title" placeholder="e.g. Mr."
+                                                        attrs="{'invisible': [('type','!=', 'contact')]}"/>
+                                                    <field name="function" placeholder="e.g. Sales Director"
+                                                        attrs="{'invisible': [('type','!=', 'contact')]}"/>
+                                                    <field name="email"/>
+                                                    <field name="phone" widget="phone"/>
+                                                    <field name="mobile" widget="phone"/>
+                                                    <field name="comment" placeholder="internal note..."/>
+                                                </group>
+                                            </group>
+                                            <field name="supplier" invisible="True"/>
+                                            <field name="customer" invisible="True"/>
+                                            <field name="lang" invisible="True"/>
+                                            <field name="image" invisible="True"/>
+                                            <field name="user_id" invisible="True"/>
+                                        </sheet>
+                                    </form>
+                                </field-->
                             </group>
-                            <group string="UR">
+                            <group string="Suivi UR">
                                 <field name="company_id" required="True" domain="[('id', '!=', 1)]"/>
                                 <field name="creation_delegate_id" widget="res_partner_many2one"
-                                    attrs="{'required':[('project_status','in',('2_pre-diagnostic','3_accompagnement','4_adhesion', '5_suivi'))]}"/>
+                                    attrs="{'required':[('project_status','in',('3_accompagnement','4_adhesion', '5_suivi'))]}"/>
                                 <field name="followup_delegate_id" widget="res_partner_many2one" attrs="{'required':[('project_status','in',('5_suivi'))]}"/>
+                                <!--field name="revision_person_id" widget="res_partner_many2one" readonly="True"/-->
+                                <field name="parent_group_name"/>
+                                <!--field name="category_id" string="Segmentation" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}"
+                                    domain="['!',('parent_id', 'child_of', %(l10n_eu_nace.nace_root)d), ('child_ids', '=', False)]"/-->
+                            </group>
+                            <group string="Informations Activité">
                                 <field name="creation_origin" required="True"/>
-                                <field name="creation_suborigin_id" required="True"/>
-                                <field name="cooperative_form_id" attrs="{'required':[('project_status','in',('2_pre-diagnostic','3_accompagnement','4_adhesion', '5_suivi'))]}"/>
+                                <field name="creation_suborigin_id" attrs="{'required':[('creation_origin','!=','null')]}"/>
                                 <field name="date_1st_sign" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                                <field name="cae" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
+                                <field name="registration_date" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
+                                <field name="social_object" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
+                                <field name="ape_id" readonly="True"/>
+                                <field name="industry_id"/>
+                                <field name="certification_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}"/>
+                                <field name="siret" readonly="True"/>
+                                <field name="first_closeout" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
+                                <field name="closeout_month" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
                                 <field name="is_seed_scop" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
                                 <field name="seed_end" attrs="{'invisible': [('is_seed_scop', '!=', True)], 'required':[('project_status','in',('4_adhesion', '5_suivi')),('is_seed_scop', '=', True)]}"/>
                                 <field name="is_incubated" required="True"/>
-                                <field name="incubator_id" widget="res_partner_many2one" attrs="{'invisible': [('is_incubated', '!=', True)], 'required':[('is_incubated', '=', True)]}"/>
+                                <field name="incubator_id" widget="res_partner_many2one" attrs="{'invisible': [('is_incubated', '!=', True)]}"/>
                                 <field name="prescriber_canal_id" widget="res_partner_many2one"/>
                             </group>
                         </group>
-                        <group string="Informations de contact">
-                            <group>
-                                <field name="phone" widget="phone" string="Téléphone 1" required="True"/>
-                                <field name="mobile" widget="phone" string="Téléphone 2"/>
-                                <field name="email" widget="email" string="E-mail commercial" required="True"/>
-                                <field name="admin_email" widget="email" string="E-mail administratif"/>
-                            </group>
-                            <group>
-                                <field name="country_enforce_cities" invisible="1" modifiers="{'readonly':true, 'invisible':true}"/>
-                                <label for="street" string="Adresse Administrative"/>
-                                <div class="o_address_format" modifiers="{}">
-                                    <div attrs="{'invisible': ['|', ('parent_id', '=', False), ('type', '!=', 'contact')]}" class="oe_edit_only"
-                                        modifiers="{'invisible':['|',['parent_id','=',false],['type','!=','contact']]}">
-                                        <b modifiers="{}">
-                                            Company Address:
-                                        </b>
-                                    </div>
-                                    <field name="street" placeholder="Rue..." class="o_address_street"
-                                        attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)],  'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"
-                                        modifiers="{'readonly':[['type','=','contact'],['parent_id','!=', False]]}"/>
-                                    <field name="street2" placeholder="Rue 2..." class="o_address_street"
-                                        attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)],  'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"
-                                        modifiers="{'readonly':[['type','=','contact'],['parent_id','!=',false]]}"/>
-                                    <field name="street3" placeholder="Rue 3..." class="o_address_street"
-                                        attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)],  'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"
-                                        modifiers="{'readonly':[['type','=','contact'],['parent_id','!=',false]]}"/>
-                                    <field name="zip_id"
-                                       options="{'create_name_field': 'city', 'no_open': True, 'no_create': True}"
-                                       placeholder="ZIP"
-                                       class="oe_edit_only"
-                                       attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)],  'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                                    <field name="zip" placeholder="ZIP" class="o_address_zip"
-                                        attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)],  'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"
-                                        on_change="1" modifiers="{'readonly':[['type','=','contact'],['parent_id','!=',False]]}"/>
-                                    <field name="city" placeholder="Ville" class="o_address_city"
-                                        attrs="{'invisible': [('country_enforce_cities', '=', True), ('city_id', '!=', False)], 'readonly': [('type', '=', 'contact'), ('parent_id', '!=', False)],  'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"
-                                        modifiers="{'readonly':[['type','=','contact'],['parent_id','!=',false]],'invisible':[['country_enforce_cities','=',true],['city_id','!=',false]]}"/>
-                                    <field name="city_id" placeholder="Ville" string="Ville" class="o_address_city"
-                                        context="{'default_country_id': country_id, 'default_name': city, 'default_zipcode': zip, 'default_state_id': state_id}"
-                                        domain="[('country_id', '=', country_id)]"
-                                        attrs="{'invisible': [('country_enforce_cities', '=', False)], 'readonly': [('type', '=', 'contact'), ('parent_id', '!=', False)]}"
-                                        on_change="1" can_create="true" can_write="true"
-                                        modifiers="{'readonly':[['type','=','contact'],['parent_id','!=',false]],'invisible':[['country_enforce_cities','=',false]]}"/>
-                                    <field name="state_id" class="o_address_state" placeholder="State" options="{'no_open': True}"
-                                        attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}" context="{'country_id': country_id, 'zip': zip}"
-                                        on_change="1" can_create="true" can_write="true" modifiers="{'readonly':[['type','=','contact'],['parent_id','!=',false]]}"/>
-                                    <field name="country_id" placeholder="Country" class="o_address_country"
-                                        options="{'no_open': True, 'no_create': True}" attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}"
-                                        on_change="1" can_create="true" can_write="true" modifiers="{'readonly':[['type','=','contact'],['parent_id','!=',false]]}"/>
-                                </div>
-                            </group>
-                        </group>
-                        <group string="Autres informations">
-                            <field name="bank_id" widget="res_partner_many2one"/>
-                            <field name="bank2_id" widget="res_partner_many2one"/>
-                            <field name="direccte_id" widget="res_partner_many2one" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                            <field name="auditor_id" widget="res_partner_many2one"/>
-                            <field name="auditor_person_id" widget="res_partner_many2one" attrs="{'invisible': [('auditor_id', '!=', False)]}"/>
-                            <field name="accountant_id" widget="res_partner_many2one" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                            <field name="accountant_person_id" widget="res_partner_many2one" attrs="{'invisible': [('accountant_id', '!=', False)]}"/>
-                            <field name="registration_date" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                            <field name="last_update_status" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                            <field name="is_main_location" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                            <field name="parent_group_name"/>
-                        </group>
-                        <group>
-                            <group string="Informations comptables">
-                                <field name="first_closeout" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                                <field name="closeout_month" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
-                            </group>
-                            <group string="Dissolution">
+                        <notebook colspan="4">
+                            <page name="juridical_info" string="Informations Juridiques">
+                                <field name="siren" readonly="True"/>
                                 <field name="dissolution_date"/>
                                 <field name="dissolution_reason_id"/>
-                            </group>
-
-                            <field name="supplier" invisible="True"/>
-                            <field name="customer" invisible="True"/>
-                            <field name="user_id" invisible="True"/>
-                        </group>
-                        <notebook colspan="4">
-                            <page string="Contacts &amp; Addresses" autofocus="autofocus">
+                            </page>
+                            <page name="partners" string="Partenaires">
+                                <field name="bank_id" widget="res_partner_many2one"/>
+                                <field name="bank2_id" widget="res_partner_many2one"/>
+                                <field name="accountant_id" widget="res_partner_many2one" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/>
+                                <field name="accountant_person_id" widget="res_partner_many2one" attrs="{'invisible': [('accountant_id', '!=', False)]}"/>
+                                <field name="auditor_id" widget="res_partner_many2one"/>
+                                <field name="auditor_person_id" widget="res_partner_many2one" attrs="{'invisible': [('auditor_id', '!=', False)]}"/>
+                            </page>
+                            <page name='scop_ministry_list' string="Listes Ministère">
+                                <field name="direccte_id" widget="res_partner_many2one"/>
+                                <field name="last_update_status"/>
+                                <field name="ministry_list_ids" mode="tree">
+                                    <tree create="False" edit="False" delete="False"/>
+                                    <form/>
+                                </field>
+                            </page>
+                            <page name='scop_revision' string="Révisions">
+                                <group string="Informations de révision">
+                                    <group>
+                                        <field name="revision_contract"/>
+                                        <field name="revision_company_id" widget="res_partner_many2one"/>
+                                        <field name="revision_backup_company_id" widget="res_partner_many2one"/>
+                                        <field name="revision_person_id" widget="res_partner_many2one"/>
+                                        <field name="revision_certified_person_id" widget="res_partner_many2one"/>
+                                        <field name="revision_person_assign_date"/>
+                                    </group>
+                                    <group>
+                                        <field name="revision_type"/>
+                                        <field name="revision_format_id"/>
+                                        <field name="revision_staff_id"/>
+                                        <field name="revision_last_date"/>
+                                        <field name="revision_next_date"/>
+                                    </group>
+                                </group>
+                                <field name="revision_ids" mode="tree">
+                                    <tree create="False" edit="False" delete="False"/>
+                                    <form/>
+                                </field>
+                            </page>
+                            <!--page name="scop_periods" string="Historique des périodes">
+                                <field name="scop_period_ids" mode="tree">
+                                    <tree string="Périodes" create="False" edit="False" delete="False">
+                                        <field name="partner_id" invisible="1"/>
+                                        <field name="start"/>
+                                        <field name="end"/>
+                                        <field name="end_reason"/>
+                                        <field name="comments"/>
+                                        <field name="name"/>
+                                        <field name="cooperative_form_id"/>
+                                        <field name="partner_company_type_id"/>
+                                        <field name="siret"/>
+                                        <field name="street"/>
+                                        <field name="street2"/>
+                                        <field name="street3"/>
+                                        <field name="zip"/>
+                                        <field name="zip_id" invisible="1"/>
+                                        <field name="city" invisible="1"/>
+                                        <field name="city_id"/>
+                                        <field name="state_id" invisible="1"/>
+                                        <field name="country_id" invisible="1"/>
+                                        <field name="ape_id"/>
+                                        <field name="cae"/>
+                                        <field name="is_main_location"/>
+                                        <field name="parent_group_name"/>
+                                    </tree>
+                                </field>
+                            </page-->
+                            <!--page name="contacts" string="Contacts &amp; Addresses" autofocus="autofocus">
+                                <field name="is_main_location" readonly="True"/>
                                 <field name="child_ids" mode="kanban"
                                     context="{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_city': city, 'default_state_id': state_id, 'default_zip': zip, 'default_country_id': country_id, 'default_supplier': supplier, 'default_customer': customer, 'default_lang': lang, 'default_user_id': user_id}">
                                     <kanban>
@@ -283,9 +336,9 @@
                                         <field name="mobile"/>
                                         <field name="state_id"/>
                                         <field name="image_small"/>
-                                        <field name="lang"/>
+                                        <field name="lang"/-->>
                                         <!-- fields in form x2many view to diminish requests -->
-                                        <field name="comment"/>
+                                        <!--field name="comment"/>
                                         <field name="customer"/>
                                         <field name="display_name"/>
                                         <field name="supplier"/>
@@ -324,11 +377,11 @@
                                         </templates>
                                     </kanban>
                                     <form string="Contact / Address">
-                                        <sheet>
+                                        <sheet-->
                                             <!-- parent_id and type fields needed in attrs in base_address_city module which overwrites
                                             _fields_view_get() of partner. It would be better to put those fields there but the web client
                                             dosen't support when a field is displayed several times in the same view.-->
-                                            <field name="type" required="1" widget="radio" options="{'horizontal': true}"/>
+                                            <!--field name="type" required="1" widget="radio" options="{'horizontal': true}"/>
                                             <field name="parent_id" invisible="1"/>
                                             <hr/>
                                             <group>
@@ -379,78 +432,49 @@
                                         </sheet>
                                     </form>
                                 </field>
-                            </page>
+                            </page-->
                             <page name='internal_notes' string="Internal Notes">
                                 <field name="comment" placeholder="Internal note..."/>
                             </page>
                             <page name='scop_membership' string="Périodes d'adhésion">
                                 <field name="membership_period_ids" mode="tree">
-                                    <tree/>
+                                    <tree create="False" edit="False" delete="False"/>
                                     <form/>
                                 </field>
                             </page>
                             <page name='scop_contribution' string="Cotisations">
                                 <field name="contribution_ids" mode="tree">
-                                    <tree/>
-                                    <form/>
-                                </field>
-                            </page>
-                            <page name='scop_ministry_list' string="Listes Ministère">
-                                <field name="ministry_list_ids" mode="tree">
-                                    <tree/>
+                                    <tree create="False" edit="False" delete="False"/>
                                     <form/>
                                 </field>
                             </page>
                             <page name='scop_questionnaire' string="Questionnaires">
                                 <field name="questionnaire_ids" mode="tree">
-                                    <tree/>
+                                    <tree create="False" edit="False" delete="False"/>
                                     <form/>
                                 </field>
                             </page>
                             <page name='scop_liasse_fiscale' string="Liasses Fiscales">
                                 <field name="liasse_fiscale_ids" mode="tree">
-                                    <tree/>
+                                    <tree create="False" edit="False" delete="False"/>
                                     <form/>
                                 </field>
                             </page>
                             <page name='scop_staff' string="Effectifs">
                                 <field name="staff_ids" mode="tree">
-                                    <tree/>
-                                    <form/>
-                                </field>
-                            </page>
-                            <page name='scop_revision' string="Révisions">
-                                <group string="Informations de révision">
-                                    <group>
-                                        <field name="revision_contract"/>
-                                        <field name="revision_company_id" widget="res_partner_many2one"/>
-                                        <field name="revision_backup_company_id" widget="res_partner_many2one"/>
-                                        <field name="revision_person_id" widget="res_partner_many2one"/>
-                                        <field name="revision_certified_person_id" widget="res_partner_many2one"/>
-                                        <field name="revision_person_assign_date"/>
-                                    </group>
-                                    <group>
-                                        <field name="revision_type"/>
-                                        <field name="revision_format_id"/>
-                                        <field name="revision_staff_id"/>
-                                        <field name="revision_last_date"/>
-                                        <field name="revision_next_date"/>
-                                    </group>
-                                </group>
-                                <field name="revision_ids" mode="tree">
-                                    <tree/>
+                                    <tree create="False" edit="False" delete="False"/>
                                     <form/>
                                 </field>
                             </page>
                             <page name='scop_legal_event' string="Evènements Juridiques">
                                 <field name="legal_event_ids" mode="tree">
-                                    <tree/>
+                                    <tree create="False" edit="False" delete="False"/>
                                     <form/>
                                 </field>
                             </page>
                             <page name='scop_financial_tools' string="Outils Financiers">
                                 <field name="financial_tools_ids" mode="tree">
-                                    <tree/>
+                                    <tree create="False" edit="False" delete="False"/>
                                     <form/>
                                 </field>
                             </page>
@@ -486,11 +510,10 @@
             <field name="name">Coopératives</field>
             <field name="res_model">res.partner</field>
             <field name="view_type">form</field>
-            <field name="view_mode">kanban,tree,form</field>
+            <field name="view_mode">tree,form</field>
             <field name="search_view_id" ref="base.view_res_partner_filter"/>
             <field name="domain" eval="[('is_cooperative', '=', True),('project_status','=','5_suivi')]"/>
             <field name="view_ids" eval="[(5, 0, 0),
-                (0, 0, {'view_mode': 'kanban', 'view_id': ref('base.res_partner_kanban_view')}),
                 (0, 0, {'view_mode': 'tree', 'view_id': ref('base.view_partner_tree')}),
                 (0, 0, {'view_mode': 'form', 'view_id': ref('view_partner_cooperative_form')})]"/>
             <field name="context">{'search_default_type_cooperative': True, 'default_is_company': True, 'default_is_cooperative': True, 'default_company_type': 'company', 'default_project_status': '5_suivi'}</field>
@@ -501,11 +524,10 @@
             <field name="name">Tous les Organismes</field>
             <field name="res_model">res.partner</field>
             <field name="view_type">form</field>
-            <field name="view_mode">kanban,tree,form</field>
+            <field name="view_mode">tree,form</field>
             <field name="search_view_id" ref="base.view_res_partner_filter"/>
             <field name="domain" eval="[('is_cooperative', '=', True)]"/>
             <field name="view_ids" eval="[(5, 0, 0),
-                (0, 0, {'view_mode': 'kanban', 'view_id': ref('view_partner_cooperative_kanban')}),
                 (0, 0, {'view_mode': 'tree', 'view_id': ref('view_partner_cooperative_tree')}),
                 (0, 0, {'view_mode': 'form', 'view_id': ref('view_partner_cooperative_form')})]"/>
             <field name="context">{'default_is_company': True, 'default_is_cooperative': True, 'default_company_type': 'company', 'default_project_status': '1_information'}</field>
-- 
GitLab