From ed3666002e224b88503a4dd338c5b3cc8a104b3d Mon Sep 17 00:00:00 2001
From: jordan <jordan@le-filament.com>
Date: Wed, 2 Mar 2022 16:54:31 +0100
Subject: [PATCH] [mig] 12.0 to 13.0 with migrator-tools

---
 __manifest__.py                               |   2 +-
 models/res_partner.py                         |  44 +--
 models/scop_instance.py                       | 297 ++++++++++--------
 models/scop_instance_partner.py               | 150 ++++-----
 models/union_regionale.py                     |  17 +-
 .../scop_instance_mail_membership_wizard.py   |  35 ++-
 wizard/scop_instance_report_per_ur_wizard.py  |  10 +-
 wizard/scop_instance_wizard.py                | 120 ++++---
 8 files changed, 364 insertions(+), 311 deletions(-)

diff --git a/__manifest__.py b/__manifest__.py
index a06c3cb..5acc18f 100755
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -1,7 +1,7 @@
 {
     "name": "CG SCOP - Adhésion Instance",
     "summary": "Gestion des instances Adhésions",
-    "version": "13.0.1.0",
+    "version": "13.0.1.0.0",
     "author": "Le Filament",
     "license": "AGPL-3",
     "application": False,
diff --git a/models/res_partner.py b/models/res_partner.py
index 153ecc5..0a8f327 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -5,16 +5,16 @@ from odoo import models, api, fields
 
 
 class ScopPartner(models.Model):
-    _inherit = 'res.partner'
+    _inherit = "res.partner"
 
     date_bureau_validation = fields.Date(
         string="Date du bureau de validation",
-        compute='_compute_date_bureau_validation')
+        compute="_compute_date_bureau_validation",
+    )
 
     # ------------------------------------------------------
     # Compute
     # ------------------------------------------------------
-    @api.multi
     def _compute_date_bureau_validation(self):
         """
         Date bureau adhesion is last instance type adhesion attached to partner
@@ -22,16 +22,17 @@ class ScopPartner(models.Model):
         """
         for r in self:
             r.date_bureau_validation = None
-            instance_adhesion_ids = r.instance_ids.filtered('is_type_membership')\
-                .sorted('date_start')
+            instance_adhesion_ids = r.instance_ids.filtered(
+                "is_type_membership"
+            ).sorted("date_start")
             if instance_adhesion_ids:
-                r.date_bureau_validation = instance_adhesion_ids[-1].\
-                    date_start.date()
+                r.date_bureau_validation = instance_adhesion_ids[
+                    -1
+                ].date_start.date()
 
     # ------------------------------------------------------
     # Business method
     # ------------------------------------------------------
-    @api.multi
     def get_theorical_amount_adhesion(self, effectif):
         """
         Trick to use super method to get amount adhesion in compute field
@@ -40,22 +41,27 @@ class ScopPartner(models.Model):
         self.ensure_one()
         return super(ScopPartner, self).get_amount_adhesion(effectif)
 
-    @api.multi
     def get_amount_adhesion(self, effectif):
         """
         Override function to get custom amount set in instance if exists
         """
         self.ensure_one()
-        adhesion_from_instance = self.env[
-            'scop.instance.partner'].search([
-                ('instance_id', '=',
-                 self.env.context.get('origin_instance_id')),
-                ('partner_id', '=', self.id)
-            ])
-        if len(adhesion_from_instance) == 1 and \
-                self.env.context.get('origin_instance_id'):
+        adhesion_from_instance = self.env["scop.instance.partner"].search(
+            [
+                (
+                    "instance_id",
+                    "=",
+                    self.env.context.get("origin_instance_id"),
+                ),
+                ("partner_id", "=", self.id),
+            ]
+        )
+        if len(adhesion_from_instance) == 1 and self.env.context.get(
+            "origin_instance_id"
+        ):
             amount_adhesion = adhesion_from_instance.amount_adhesion
         else:
-            amount_adhesion = super(
-                ScopPartner, self).get_amount_adhesion(effectif)
+            amount_adhesion = super(ScopPartner, self).get_amount_adhesion(
+                effectif
+            )
         return amount_adhesion
diff --git a/models/scop_instance.py b/models/scop_instance.py
index 1298451..81f71f7 100644
--- a/models/scop_instance.py
+++ b/models/scop_instance.py
@@ -10,7 +10,7 @@ _logger = logging.getLogger(__name__)
 
 
 class ScopInstance(models.Model):
-    _inherit = ["scop.instance", 'cgscop.alfresco']
+    _inherit = ["scop.instance", "cgscop.alfresco"]
 
     # ------------------------------------------------------
     # Fields declaration
@@ -20,44 +20,54 @@ class ScopInstance(models.Model):
         string="Date d'adhésion statistique",
     )
     instance_partner_ids = fields.One2many(
-        comodel_name='scop.instance.partner',
-        inverse_name='instance_id',
-        string='Coopératives',
-        required=False)
+        comodel_name="scop.instance.partner",
+        inverse_name="instance_id",
+        string="Coopératives",
+        required=False,
+    )
     partners_count = fields.Integer(
-        string='Nombre de lignes de commandes',
-        compute='_compute_partners_count')
-    comments = fields.Text('Commentaires')
+        string="Nombre de lignes de commandes",
+        compute="_compute_partners_count",
+    )
+    comments = fields.Text("Commentaires")
 
     email_count = fields.Integer(
-        string='Nombre de mails',
-        compute='_compute_emails'
+        string="Nombre de mails", compute="_compute_emails"
     )
 
     # ------------------------------------------------------
     # Computed fields / Search Fields
     # ------------------------------------------------------
-    @api.multi
     def _compute_partners_count(self):
         for r in self:
             r.partners_count = len(r.instance_partner_ids)
 
-    @api.multi
     def _compute_emails(self):
         for r in self:
             partners = r._get_partners()
-            email_ids = self.env['mail.mail'].search([
-                ('mail_message_id', 'in', partners.mapped('message_ids').ids),
-                ('subtype_id', '=', self.env.ref(
-                    'cgscop_adhesion_alfodoo.'
-                    'mail_message_subtype_adhesion').id)
-            ],)
+            email_ids = self.env["mail.mail"].search(
+                [
+                    (
+                        "mail_message_id",
+                        "in",
+                        partners.mapped("message_ids").ids,
+                    ),
+                    (
+                        "subtype_id",
+                        "=",
+                        self.env.ref(
+                            "cgscop_adhesion_alfodoo."
+                            "mail_message_subtype_adhesion"
+                        ).id,
+                    ),
+                ],
+            )
             r.email_count = len(email_ids)
 
     # ------------------------------------------------------
     # Onchange fields
     # ------------------------------------------------------
-    @api.onchange('date')
+    @api.onchange("date")
     def onchange_date(self):
         if not self.date_membership:
             self.date_membership = fields.Date.to_date(self.date)
@@ -65,7 +75,6 @@ class ScopInstance(models.Model):
     # ------------------------------------------------------
     # Business method
     # ------------------------------------------------------
-    @api.multi
     def get_report_datas(self):
         """
         :return: dict of stats (group by ur and cooperative form)
@@ -82,18 +91,18 @@ class ScopInstance(models.Model):
             lm_partner = partner.get_lm_adhesion()
             lm_ids.append(lm_partner.id)
 
-        partners_lm = self.env['liste.ministere'].browse(lm_ids)
+        partners_lm = self.env["liste.ministere"].browse(lm_ids)
 
         ur_global = partners_lm.read_group(
-            domain=[('id', 'in', partners_lm.ids)],
-            fields=['ur_id'],
-            groupby=['ur_id', 'eff_tt', 'eff_sal_assoc'],
-            orderby='ur_id',
-            lazy=True
+            domain=[("id", "in", partners_lm.ids)],
+            fields=["ur_id"],
+            groupby=["ur_id", "eff_tt", "eff_sal_assoc"],
+            orderby="ur_id",
+            lazy=True,
         )
         datas_stats_global = {
-            'ur_global': ur_global,
-            'partners': partners_lm,
+            "ur_global": ur_global,
+            "partners": partners_lm,
         }
         return datas_stats_global
 
@@ -101,16 +110,16 @@ class ScopInstance(models.Model):
         """
         map o2m on partner_id
         """
-        return self.instance_partner_ids.mapped('partner_id')
+        return self.instance_partner_ids.mapped("partner_id")
 
-    @api.multi
     def create_report_adhesion(self, partners):
         """
         Generic function to create report adhésion CG
         :return:
         """
-        return self.env.ref('cgscop_adhesion.cgscop_adhesion_report'). \
-            report_action(partners)
+        return self.env.ref(
+            "cgscop_adhesion.cgscop_adhesion_report"
+        ).report_action(partners)
 
     # ------------------------------------------------------
     # Actions
@@ -121,87 +130,86 @@ class ScopInstance(models.Model):
         :return:
         """
         self.ensure_one()
-        wizard = self.env['scop.instance.wizard'].\
-            create({'instance_id': self.id})
+        wizard = self.env["scop.instance.wizard"].create(
+            {"instance_id": self.id}
+        )
         return {
-                'name': "Ajouter des coops",
-                'type': 'ir.actions.act_window',
-                'view_mode': 'form',
-                'res_model': 'scop.instance.wizard',
-                'res_id': wizard.id,
-                'target': 'new'
-                }
+            "name": "Ajouter des coops",
+            "type": "ir.actions.act_window",
+            "view_mode": "form",
+            "res_model": "scop.instance.wizard",
+            "res_id": wizard.id,
+            "target": "new",
+        }
 
-    @api.multi
     def create_report_instance_adhesion(self):
         """
         Create report for "états préparatoires"
         :return:
         """
         return self.env.ref(
-            'cgscop_instance.cgscop_instance_adhesion_report'). \
-            report_action(self)
+            "cgscop_instance.cgscop_instance_adhesion_report"
+        ).report_action(self)
 
-    @api.multi
     def create_report_adhesion_all(self):
         """
         Create report adhésion CG ALL
         :return:
         """
         partners = self._get_partners().filtered(
-            lambda p: p.project_status == '6_suivi')
+            lambda p: p.project_status == "6_suivi"
+        )
         if len(partners) < 1:
-            raise UserError(
-                'Aucune coopérative n\'est en statut "suivi"')
+            raise UserError('Aucune coopérative n\'est en statut "suivi"')
         return self.create_report_adhesion(partners)
 
-    @api.multi
     def create_report_adhesion_per_ur(self):
         """
         Create report adhésion CG PER UR
         :return:
         """
         partners = self._get_partners().filtered(
-            lambda i: i.project_status == '6_suivi')
+            lambda i: i.project_status == "6_suivi"
+        )
         if len(partners) < 1:
-            raise UserError(
-                'Aucune coopérative n\'est en statut "suivi"')
-        urs = partners.mapped('ur_id')
-        wizard = self.env['scop.instance.report.wizard'].create({
-            'partner_ids': [(6, 0, partners.ids)],
-            'ur_ids': [(6, 0, urs.ids)],
-        })
+            raise UserError('Aucune coopérative n\'est en statut "suivi"')
+        urs = partners.mapped("ur_id")
+        wizard = self.env["scop.instance.report.wizard"].create(
+            {
+                "partner_ids": [(6, 0, partners.ids)],
+                "ur_ids": [(6, 0, urs.ids)],
+            }
+        )
 
         return {
-            'name': 'Courriers d\'adhésion par UR',
-            'type': 'ir.actions.act_window',
-            'view_mode': 'form',
-            'res_model': 'scop.instance.report.wizard',
-            'res_id': wizard.id,
-            'target': 'new',
-            'flags': {'mode': 'readonly'}
+            "name": "Courriers d'adhésion par UR",
+            "type": "ir.actions.act_window",
+            "view_mode": "form",
+            "res_model": "scop.instance.report.wizard",
+            "res_id": wizard.id,
+            "target": "new",
+            "flags": {"mode": "readonly"},
         }
 
-    @api.multi
     def action_send_mail_adhesion(self):
         """
         Open wizard to send mail adhésions
         """
         partners = self._get_partners().filtered(
-            lambda i: i.project_status == '6_suivi')
+            lambda i: i.project_status == "6_suivi"
+        )
         if len(partners) < 1:
-            raise UserError(
-                'Aucune coopérative n\'est en statut "suivi"')
-        wizard = self.env['scop.instance.mail.wizard'].create({})
+            raise UserError('Aucune coopérative n\'est en statut "suivi"')
+        wizard = self.env["scop.instance.mail.wizard"].create({})
 
         return {
-            'name': 'Envoyer les mails d\'adhésion',
-            'type': 'ir.actions.act_window',
-            'view_mode': 'form',
-            'res_model': 'scop.instance.mail.wizard',
-            'res_id': wizard.id,
-            'target': 'new',
-            'domain': [('partner_ids', 'in', partners.ids)],
+            "name": "Envoyer les mails d'adhésion",
+            "type": "ir.actions.act_window",
+            "view_mode": "form",
+            "res_model": "scop.instance.mail.wizard",
+            "res_id": wizard.id,
+            "target": "new",
+            "domain": [("partner_ids", "in", partners.ids)],
         }
 
     def action_show_coop(self):
@@ -212,18 +220,16 @@ class ScopInstance(models.Model):
         self.ensure_one()
         partner_ids = self._get_partners().ids
         tree_view = self.env.ref(
-            'cgscop_instance.res_partner_instance_coops_tree').id
+            "cgscop_instance.res_partner_instance_coops_tree"
+        ).id
         return {
-            'type': 'ir.actions.act_window',
-            'name': 'Coopératives',
-            'views': [
-                [tree_view, "tree"],
-                [False, "form"]
-            ],
-            'view_mode': 'tree',
-            'res_model': 'res.partner',
-            'target': 'current',
-            'domain': [["id", "in", partner_ids]],
+            "type": "ir.actions.act_window",
+            "name": "Coopératives",
+            "views": [[tree_view, "tree"], [False, "form"]],
+            "view_mode": "tree",
+            "res_model": "res.partner",
+            "target": "current",
+            "domain": [["id", "in", partner_ids]],
         }
 
     def action_show_emails(self):
@@ -232,16 +238,21 @@ class ScopInstance(models.Model):
         """
         partners = self._get_partners()
         return {
-            'name': 'Etat des mails envoyés',
-            'type': 'ir.actions.act_window',
-            'view_mode': 'form',
-            'views': [(False, 'tree'), (False, 'form')],
-            'res_model': 'mail.mail',
-            'domain': [
-                ('mail_message_id', 'in', partners.mapped('message_ids').ids),
-                ('subtype_id', '=', self.env.ref(
-                    'cgscop_adhesion_alfodoo.'
-                    'mail_message_subtype_adhesion').id)
+            "name": "Etat des mails envoyés",
+            "type": "ir.actions.act_window",
+            "view_mode": "form",
+            "views": [(False, "tree"), (False, "form")],
+            "res_model": "mail.mail",
+            "domain": [
+                ("mail_message_id", "in", partners.mapped("message_ids").ids),
+                (
+                    "subtype_id",
+                    "=",
+                    self.env.ref(
+                        "cgscop_adhesion_alfodoo."
+                        "mail_message_subtype_adhesion"
+                    ).id,
+                ),
             ],
         }
 
@@ -258,84 +269,98 @@ class ScopInstance(models.Model):
         - open wizard to send mail to all validated coops
         """
         partners_to_validate = self.env.context.get(
-            'partners_to_validate', False)
+            "partners_to_validate", False
+        )
         if not partners_to_validate:
             partners_to_validate = self.instance_partner_ids.filtered(
-                lambda p: p.state == 'positive' and p.project_status == '5_cg')
+                lambda p: p.state == "positive" and p.project_status == "5_cg"
+            )
         validated_partners = list()
         for r in partners_to_validate:
             partner = r.partner_id
             try:
                 # scop_valid_cg
                 partner.with_context(
-                    origin_instance_id=self.id).scop_valid_cg()
+                    origin_instance_id=self.id
+                ).scop_valid_cg()
                 # set membership stat period
-                membership_period = self.env['scop.membership.period'].search(
-                    [('partner_id', '=', partner.id),
-                     ('start', '=', self.date),
-                     ('end', '=', False)], limit=1)
+                membership_period = self.env["scop.membership.period"].search(
+                    [
+                        ("partner_id", "=", partner.id),
+                        ("start", "=", self.date),
+                        ("end", "=", False),
+                    ],
+                    limit=1,
+                )
                 if membership_period.start_stat != r.statistic_membership_date:
-                    membership_period.update({
-                        'start_stat': r.statistic_membership_date
-                    })
+                    membership_period.update(
+                        {"start_stat": r.statistic_membership_date}
+                    )
                 # log success
                 validated_partners.append(partner.id)
                 r.is_success = True
                 self.env.cr.commit()
             except Exception as e:
-                logger = "Erreur lors la validation du dossier %s : " \
-                         "%s" % (partner.name, e.args[0])
+                logger = "Erreur lors la validation du dossier %s : " "%s" % (
+                    partner.name,
+                    e.args[0],
+                )
                 _logger.warning(logger)
                 self.env.cr.rollback()
                 r.is_success = False
-                r.message_error = fields.datetime.now().strftime(
-                    "%d/%m/%Y - %-H:%M") + ' - Erreur : ' + e.args[0]
+                r.message_error = (
+                    fields.datetime.now().strftime("%d/%m/%Y - %-H:%M")
+                    + " - Erreur : "
+                    + e.args[0]
+                )
                 self.env.cr.commit()
                 if len(partners_to_validate) == 1:
                     raise ValidationError(logger)
 
         if len(validated_partners) > 0:
             return self.send_mass_mail_adhesion(
-                self.env['res.partner'].browse(validated_partners))
+                self.env["res.partner"].browse(validated_partners)
+            )
 
-    @api.multi
     def send_mass_mail_adhesion(self, partners):
         """
         Open wizard to send mail adhésion to partners of instance
         """
         self.ensure_one()
         template_id = self.env.ref(
-            'cgscop_adhesion_alfodoo.email_template_adhesion')
-        ir_model_data = self.env['ir.model.data']
+            "cgscop_adhesion_alfodoo.email_template_adhesion"
+        )
+        ir_model_data = self.env["ir.model.data"]
         try:
             compose_form_id = ir_model_data.get_object_reference(
-                'mail', 'email_compose_message_wizard_form')[1]
+                "mail", "email_compose_message_wizard_form"
+            )[1]
         except ValueError:
             compose_form_id = False
         ctx = {
-            'default_model': 'res.partner',
-            'default_res_id': partners.ids[0],
-            'default_use_template': True,
-            'default_template_id': template_id.id,
-            'default_subtype_id': self.env.ref(
-                'cgscop_adhesion_alfodoo.mail_message_subtype_adhesion').id,
-            'default_composition_mode': 'mass_mail' if len(
-                partners.ids) > 1 else 'comment',
-            'active_ids': partners.ids
+            "default_model": "res.partner",
+            "default_res_id": partners.ids[0],
+            "default_use_template": True,
+            "default_template_id": template_id.id,
+            "default_subtype_id": self.env.ref(
+                "cgscop_adhesion_alfodoo.mail_message_subtype_adhesion"
+            ).id,
+            "default_composition_mode": "mass_mail"
+            if len(partners.ids) > 1
+            else "comment",
+            "active_ids": partners.ids,
         }
         return {
-            'type': 'ir.actions.act_window',
-            'view_type': 'form',
-            'view_mode': 'form',
-            'res_model': 'mail.compose.message',
-            'views': [(compose_form_id, 'form')],
-            'view_id': compose_form_id,
-            'target': 'new',
-            'context': ctx,
+            "type": "ir.actions.act_window",
+            "view_type": "form",
+            "view_mode": "form",
+            "res_model": "mail.compose.message",
+            "views": [(compose_form_id, "form")],
+            "view_id": compose_form_id,
+            "target": "new",
+            "context": ctx,
         }
 
     def update_membership_date(self):
         for partner in self.instance_partner_ids:
-            partner.update({
-                'statistic_membership_date': self.date_membership
-            })
+            partner.update({"statistic_membership_date": self.date_membership})
diff --git a/models/scop_instance_partner.py b/models/scop_instance_partner.py
index 2aac83e..e977daa 100644
--- a/models/scop_instance_partner.py
+++ b/models/scop_instance_partner.py
@@ -13,59 +13,57 @@ class ScopInstancePartner(models.Model):
     # ------------------------------------------------------
     @api.model
     def _get_default_date_stat(self):
-        if self.env.context.get('active_model') == 'scop.instance':
-            return self.env['scop.instance'].browse(
-                self.env.context['active_id']).date.date()
+        if self.env.context.get("active_model") == "scop.instance":
+            return (
+                self.env["scop.instance"]
+                .browse(self.env.context["active_id"])
+                .date.date()
+            )
 
     # ------------------------------------------------------
     # Fields declaration
     # ------------------------------------------------------
     instance_id = fields.Many2one(
-        comodel_name='scop.instance',
-        string='Instance',
-        required=True)
+        comodel_name="scop.instance", string="Instance", required=True
+    )
 
     partner_id = fields.Many2one(
-        comodel_name='res.partner',
-        string='Coopératives',
-        required=True)
+        comodel_name="res.partner", string="Coopératives", required=True
+    )
     display_name = fields.Char(
-        string='Coopérative',
-        related='partner_id.display_name')
-    city = fields.Char(
-        string="Ville",
-        related='partner_id.city')
+        string="Coopérative", related="partner_id.display_name"
+    )
+    city = fields.Char(string="Ville", related="partner_id.city")
     ur_id = fields.Many2one(
-        comodel_name='union.regionale',
-        string='UR',
-        related='partner_id.ur_id')
-    phone = fields.Char(
-        string="Téléphone",
-        related='partner_id.phone')
-    email = fields.Char(
-        string='Email',
-        related='partner_id.email')
+        comodel_name="union.regionale", string="UR", related="partner_id.ur_id"
+    )
+    phone = fields.Char(string="Téléphone", related="partner_id.phone")
+    email = fields.Char(string="Email", related="partner_id.email")
     project_status = fields.Selection(
-        string='Statut projet',
-        related='partner_id.project_status')
+        string="Statut projet", related="partner_id.project_status"
+    )
 
     state = fields.Selection(
-        string='Avis',
-        selection=[('positive', 'Favorable'),
-                   ('negative', 'Défavorable')],
-        default='positive',
-        required=True, track_visibility='onchange')
+        string="Avis",
+        selection=[("positive", "Favorable"), ("negative", "Défavorable")],
+        default="positive",
+        required=True,
+        track_visibility="onchange",
+    )
     amount_adhesion = fields.Float(
-        string='Montant Adhésion',
-        compute='_compute_amount_adhesion', store=True,
-        track_visibility='onchange')
-    comments = fields.Text('Commentaires', track_visibility='onchange')
+        string="Montant Adhésion",
+        compute="_compute_amount_adhesion",
+        store=True,
+        track_visibility="onchange",
+    )
+    comments = fields.Text("Commentaires", track_visibility="onchange")
     statistic_membership_date = fields.Date(
-        string='Date d\'adhésion statistique',
-        default=lambda self: self._get_default_date_stat())
+        string="Date d'adhésion statistique",
+        default=lambda self: self._get_default_date_stat(),
+    )
 
-    is_success = fields.Boolean('Succès', default=True)
-    message_error = fields.Text('Message d\'erreur')
+    is_success = fields.Boolean("Succès", default=True)
+    message_error = fields.Text("Message d'erreur")
 
     # ------------------------------------------------------
     # SQL Constraints
@@ -74,40 +72,42 @@ class ScopInstancePartner(models.Model):
     Contrainte : Unicité clé partner_id-instance_id
     """
     _sql_constraints = [
-        ('uniqueness_partner_instance_key',
-         'unique(partner_id, instance_id)',
-         "Une coop ne peut être présente qu'une seule fois par instance"),
+        (
+            "uniqueness_partner_instance_key",
+            "unique(partner_id, instance_id)",
+            "Une coop ne peut être présente qu'une seule fois par instance",
+        ),
     ]
 
     # ------------------------------------------------------
     # Compute
     # ------------------------------------------------------
-    @api.multi
-    @api.depends('partner_id', 'state')
+    @api.depends("partner_id", "state")
     def _compute_amount_adhesion(self):
         for r in self:
-            if r.state == 'positive':
-                lm = r.partner_id.lm_adhesion_id \
-                    if r.partner_id.lm_adhesion_id \
+            if r.state == "positive":
+                lm = (
+                    r.partner_id.lm_adhesion_id
+                    if r.partner_id.lm_adhesion_id
                     else r.partner_id.get_lm_adhesion(r.instance_id.date.year)
+                )
                 effectif = lm.eff_tt
-                r.amount_adhesion = \
-                    r.partner_id.get_theorical_amount_adhesion(effectif)
+                r.amount_adhesion = r.partner_id.get_theorical_amount_adhesion(
+                    effectif
+                )
             else:
                 r.amount_adhesion = 0
 
     # ------------------------------------------------------
     # Actions
     # ------------------------------------------------------
-    @api.multi
     def switch_state(self):
         self.ensure_one()
-        if self.state == 'positive':
-            self.state = 'negative'
+        if self.state == "positive":
+            self.state = "negative"
         else:
-            self.state = 'positive'
+            self.state = "positive"
 
-    @api.multi
     def action_free_coop_from_instance(self):
         """
         Free coop from instance from "scop_instance_partner" view
@@ -115,32 +115,36 @@ class ScopInstancePartner(models.Model):
         """
         self.ensure_one()
         # On détache la coop de l'instance
-        self.partner_id.write({
-            'instance_ids': [(3, self.id)]}
-        )
+        self.partner_id.write({"instance_ids": [(3, self.id)]})
         # On supprime l'objet "statut coop par instance" associé
         self.unlink()
 
     def try_push_again(self):
         message = (
-                "<p>" + self.message_error + ".</p>" +
-                "<p><strong>Voulez-vous tenter de valider à "
-                "nouveau cette coop ?</strong></p>"
+            "<p>"
+            + self.message_error
+            + ".</p>"
+            + "<p><strong>Voulez-vous tenter de valider à "
+            "nouveau cette coop ?</strong></p>"
+        )
+        action = (
+            "instance_id.with_context(partners_to_validate="
+            "self.env['scop.instance.partner']."
+            "browse(" + str(self.id) + ")).scop_valid_cg_mass()"
+        )
+        message_id = self.env["message.wizard"].create(
+            {
+                "message": message,
+                "cancel_button": True,
+                "action": action,
+            }
         )
-        action = 'instance_id.with_context(partners_to_validate=' \
-                 'self.env[\'scop.instance.partner\'].' \
-                 'browse(' + str(self.id) + ')).scop_valid_cg_mass()'
-        message_id = self.env['message.wizard'].create({
-            'message': message,
-            'cancel_button': True,
-            'action': action,
-        })
 
         return {
-            'name': 'Erreur de validation pour ' + self.partner_id.name,
-            'type': 'ir.actions.act_window',
-            'view_mode': 'form',
-            'res_model': 'message.wizard',
-            'res_id': message_id.id,
-            'target': 'new'
+            "name": "Erreur de validation pour " + self.partner_id.name,
+            "type": "ir.actions.act_window",
+            "view_mode": "form",
+            "res_model": "message.wizard",
+            "res_id": message_id.id,
+            "target": "new",
         }
diff --git a/models/union_regionale.py b/models/union_regionale.py
index ab96033..b12c6ae 100755
--- a/models/union_regionale.py
+++ b/models/union_regionale.py
@@ -5,21 +5,22 @@ from odoo import api, models
 
 
 class UnionRegionale(models.Model):
-    _inherit = 'union.regionale'
+    _inherit = "union.regionale"
 
     # ------------------------------------------------------
     # Button function
     # ------------------------------------------------------
-    @api.multi
     def create_report_adhesion_per_ur(self):
         """
         Create report adhésion CG PER UR
         :return:
         """
-        partners = self.env['scop.instance'].\
-            browse(self.env.context.get('active_id')).\
-            mapped('instance_partner_ids').\
-            filtered(lambda i: i.project_status == '6_suivi').\
-            mapped('partner_id')
+        partners = (
+            self.env["scop.instance"]
+            .browse(self.env.context.get("active_id"))
+            .mapped("instance_partner_ids")
+            .filtered(lambda i: i.project_status == "6_suivi")
+            .mapped("partner_id")
+        )
         partners_ur = partners.filtered(lambda p: p.ur_id == self)
-        return self.env['scop.instance'].create_report_adhesion(partners_ur)
+        return self.env["scop.instance"].create_report_adhesion(partners_ur)
diff --git a/wizard/scop_instance_mail_membership_wizard.py b/wizard/scop_instance_mail_membership_wizard.py
index 592fd9b..960eaaf 100644
--- a/wizard/scop_instance_mail_membership_wizard.py
+++ b/wizard/scop_instance_mail_membership_wizard.py
@@ -6,7 +6,7 @@ from odoo.exceptions import UserError
 
 
 class ScopInstanceMailWizard(models.TransientModel):
-    _name = 'scop.instance.mail.wizard'
+    _name = "scop.instance.mail.wizard"
     _description = "Wizard: Mail d'adhésion"
 
     @api.model
@@ -14,30 +14,33 @@ class ScopInstanceMailWizard(models.TransientModel):
         """
         Compute domain : coops from instance in active_id
         """
-        res = [('id', 'in', 0)]  # Nothing accepted by domain, by default
-        if self.env.context.get('active_model') == 'scop.instance':
-            instance_id = self.env['scop.instance'].browse(
-                self.env.context.get('active_id')
+        res = [("id", "in", 0)]  # Nothing accepted by domain, by default
+        if self.env.context.get("active_model") == "scop.instance":
+            instance_id = self.env["scop.instance"].browse(
+                self.env.context.get("active_id")
             )
             partner_ids = instance_id._get_partners().filtered(
-                lambda i: i.project_status == '6_suivi')
+                lambda i: i.project_status == "6_suivi"
+            )
             if partner_ids:
-                res = [('id', 'in', partner_ids.ids)]
+                res = [("id", "in", partner_ids.ids)]
         return res
 
     partner_ids = fields.Many2many(
-        comodel_name='res.partner',
-        string='Coopératives',
-        domain=lambda self: self._get_partner_ids_domain())
+        comodel_name="res.partner",
+        string="Coopératives",
+        domain=lambda self: self._get_partner_ids_domain(),
+    )
 
-    @api.multi
     def send_mail(self):
         """
         Call function to send mail in mass from scop_instance
         """
-        if self.env.context.get('active_model') == 'scop.instance':
-            return self.env['scop.instance'].\
-                browse(self.env.context.get('active_id')).\
-                send_mass_mail_adhesion(self.partner_ids)
+        if self.env.context.get("active_model") == "scop.instance":
+            return (
+                self.env["scop.instance"]
+                .browse(self.env.context.get("active_id"))
+                .send_mass_mail_adhesion(self.partner_ids)
+            )
         else:
-            raise UserError('Impossible d\'envoyer le mail')
+            raise UserError("Impossible d'envoyer le mail")
diff --git a/wizard/scop_instance_report_per_ur_wizard.py b/wizard/scop_instance_report_per_ur_wizard.py
index f5dfb45..0b9ddf3 100644
--- a/wizard/scop_instance_report_per_ur_wizard.py
+++ b/wizard/scop_instance_report_per_ur_wizard.py
@@ -5,12 +5,10 @@ from odoo import fields, models, api
 
 
 class ScopInstanceReportWizard(models.TransientModel):
-    _name = 'scop.instance.report.wizard'
+    _name = "scop.instance.report.wizard"
     _description = "Wizard: Imprimer les courriers par UR"
 
-    ur_ids = fields.Many2many(
-        comodel_name='union.regionale',
-        string='UR')
+    ur_ids = fields.Many2many(comodel_name="union.regionale", string="UR")
     partner_ids = fields.Many2many(
-        comodel_name='res.partner',
-        string='Coopératives')
+        comodel_name="res.partner", string="Coopératives"
+    )
diff --git a/wizard/scop_instance_wizard.py b/wizard/scop_instance_wizard.py
index a99b117..9c562f0 100644
--- a/wizard/scop_instance_wizard.py
+++ b/wizard/scop_instance_wizard.py
@@ -5,76 +5,92 @@ from odoo import fields, models, api
 
 
 class ScopInstanceWizard(models.TransientModel):
-    _name = 'scop.instance.wizard'
+    _name = "scop.instance.wizard"
     _description = "Wizard: Associer des coopératives à une instance"
 
     instance_id = fields.Many2one(
-        comodel_name='scop.instance',
-        string='Instance',
-        required=True)
+        comodel_name="scop.instance", string="Instance", required=True
+    )
     partner_ids = fields.Many2many(
-        comodel_name='res.partner',
-        string='Coopératives',
-        domain="[('is_company', '=', True)]"
+        comodel_name="res.partner",
+        string="Coopératives",
+        domain="[('is_company', '=', True)]",
     )
-    type = fields.Selection([
-        ('all', 'Toutes les coops en statut "Soumis CG"'),
-        ('select_5_cg', 'Sélectionner des coops en statut "Soumis CG"'),
-        ('select_all', 'Sélectionner parmi toutes les coops'),
-    ],
-        string='Type de sélection',
-        default='all'
+    type = fields.Selection(
+        [
+            ("all", 'Toutes les coops en statut "Soumis CG"'),
+            ("select_5_cg", 'Sélectionner des coops en statut "Soumis CG"'),
+            ("select_all", "Sélectionner parmi toutes les coops"),
+        ],
+        string="Type de sélection",
+        default="all",
     )
 
     # ------------------------------------------------------
     # Onchange
     # ------------------------------------------------------
-    @api.onchange('type')
+    @api.onchange("type")
     def onchange_type(self):
-        self.instance_id = self.env['scop.instance'].browse(
-            self.env.context.get('active_id'))
-        already_linked_ids = self.instance_id.\
-            instance_partner_ids.mapped('partner_id').ids
-        if self.type == 'select_5_cg':
-            available_soumis_cg = self.env['res.partner'].search([
-                ('is_cooperative', '=', True),
-                ('id', 'not in', already_linked_ids),
-                ('project_status', '=', '5_cg'),
-            ])
-            return {'domain': {
-                'partner_ids': [('id', 'in', available_soumis_cg.mapped('id'))]
-            }}
+        self.instance_id = self.env["scop.instance"].browse(
+            self.env.context.get("active_id")
+        )
+        already_linked_ids = self.instance_id.instance_partner_ids.mapped(
+            "partner_id"
+        ).ids
+        if self.type == "select_5_cg":
+            available_soumis_cg = self.env["res.partner"].search(
+                [
+                    ("is_cooperative", "=", True),
+                    ("id", "not in", already_linked_ids),
+                    ("project_status", "=", "5_cg"),
+                ]
+            )
+            return {
+                "domain": {
+                    "partner_ids": [
+                        ("id", "in", available_soumis_cg.mapped("id"))
+                    ]
+                }
+            }
         else:
-            available_coops = self.env['res.partner'].search([
-                ('is_cooperative', '=', True),
-                ('id', 'not in', already_linked_ids)
-            ])
-            return {'domain': {
-                'partner_ids': [('id', 'in', available_coops.mapped('id'))]
-            }}
+            available_coops = self.env["res.partner"].search(
+                [
+                    ("is_cooperative", "=", True),
+                    ("id", "not in", already_linked_ids),
+                ]
+            )
+            return {
+                "domain": {
+                    "partner_ids": [("id", "in", available_coops.mapped("id"))]
+                }
+            }
 
     # ------------------------------------------------------
     # Button function
     # ------------------------------------------------------
     def add_partners(self):
         self.ensure_one()
-        self.instance_id = self.env['scop.instance'].browse(
-                self.env.context.get('active_id'))
-        if self.type == 'all':
-            already_linked_ids = self.instance_id.\
-                instance_partner_ids.mapped('partner_id').ids
-            self.partner_ids = self.env['res.partner'].search([
-                ('is_cooperative', '=', True),
-                ('id', 'not in', already_linked_ids),
-                ('project_status', '=', '5_cg')
-            ])
-        # Write instance in partner
-        self.partner_ids.write(
-            {'instance_ids': [(4, self.instance_id.id)]}
+        self.instance_id = self.env["scop.instance"].browse(
+            self.env.context.get("active_id")
         )
+        if self.type == "all":
+            already_linked_ids = self.instance_id.instance_partner_ids.mapped(
+                "partner_id"
+            ).ids
+            self.partner_ids = self.env["res.partner"].search(
+                [
+                    ("is_cooperative", "=", True),
+                    ("id", "not in", already_linked_ids),
+                    ("project_status", "=", "5_cg"),
+                ]
+            )
+        # Write instance in partner
+        self.partner_ids.write({"instance_ids": [(4, self.instance_id.id)]})
         # Write partner in instance
         for partner_id in self.partner_ids:
-            self.env['scop.instance.partner'].create({
-                'instance_id': self.instance_id.id,
-                'partner_id': partner_id.id,
-            })
+            self.env["scop.instance.partner"].create(
+                {
+                    "instance_id": self.instance_id.id,
+                    "partner_id": partner_id.id,
+                }
+            )
-- 
GitLab