From e8130e54c9f09a6e1b731a812fe74f167a9e1eff Mon Sep 17 00:00:00 2001 From: benjamin <benjamin@le-filament.com> Date: Wed, 2 Mar 2022 11:01:30 +0100 Subject: [PATCH] [clean] pass pre-commit changes --- .pylintrc | 1 - models/res_partner.py | 116 ++++++++++++------------ models/res_partner_lists.py | 8 +- models/scop_partner_staff.py | 24 +++-- models/scop_revision.py | 7 +- static/src/js/activity_renderer.js | 1 + static/src/js/kanban_renderer.js | 4 +- static/src/js/relational_fields.js | 3 +- views/assets.xml | 4 +- views/res_partner.xml | 10 ++ wizard/scop_address_wizard.py | 25 +++-- wizard/scop_deces_wizard.py | 12 ++- wizard/scop_membership_out_wizard.py | 12 ++- wizard/scop_membership_period_wizard.py | 6 +- wizard/scop_period_wizard.py | 10 -- 15 files changed, 132 insertions(+), 111 deletions(-) diff --git a/.pylintrc b/.pylintrc index 0ce94ed..dc6270e 100644 --- a/.pylintrc +++ b/.pylintrc @@ -73,7 +73,6 @@ enable=anomalous-backslash-in-string, invalid-commit, missing-manifest-dependency, missing-newline-extrafiles, - missing-readme, no-utf8-coding-comment, odoo-addons-relative-import, old-api7-method-defined, diff --git a/models/res_partner.py b/models/res_partner.py index 1c885e1..d63d2e6 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -3,7 +3,7 @@ from datetime import datetime, timedelta -from odoo import api, fields, models +from odoo import _, api, fields, models from odoo.exceptions import ValidationError @@ -24,7 +24,7 @@ class ScopPartner(models.Model): ("is_company", "=", True), ("organization_subtype_id", "=", incubator_id), ] - except: + except Exception: return [("is_company", "=", True)] @api.model @@ -36,7 +36,7 @@ class ScopPartner(models.Model): ("is_company", "=", True), ("organization_subtype_id", "in", [com_id, rev_id]), ] - except: + except Exception: return [("is_company", "=", True)] # Infos générales - champs non affichés @@ -221,6 +221,14 @@ class ScopPartner(models.Model): column2="filiere_id", string="Filière", ) + is_mucs = fields.Boolean(string="Est adhérent Mucs", tracking=True) + is_mucs_update_date = fields.Date(string="Date de mise à jour", tracking=True) + is_union_sociale = fields.Boolean( + string="Est adhérent Union Sociale", tracking=True + ) + is_union_sociale_update_date = fields.Date( + string="Date de mise à jour", tracking=True + ) # Infos générales / Infos activité creation_origin_id = fields.Many2one( @@ -399,13 +407,11 @@ class ScopPartner(models.Model): revision_next_exercice = fields.Integer( "Prochain exercice révisable", compute="_compute_revision_next_exercice", - inverse="_inverse_revision_next_exercice", store=True, ) revision_next_year = fields.Integer( "Année prochaine révision", compute="_compute_revision_next_year", - inverse="_inverse_revision_next_year", store=True, ) revision_ids = fields.One2many( @@ -528,9 +534,9 @@ class ScopPartner(models.Model): if self.siret and not self.env.context.get("import_file"): siren = self.siret[:3] + " " + self.siret[3:6] + " " + self.siret[6:9] if not self.siret.isdigit(): - raise ValidationError("Ce SIRET n'est pas valide") + raise ValidationError(_("Ce SIRET n'est pas valide")) if len(self.siret) != 14: - raise ValidationError("La longueur du SIRET doit être égale à 14") + raise ValidationError(_("La longueur du SIRET doit être égale à 14")) if ( self.search_count( [ @@ -540,9 +546,9 @@ class ScopPartner(models.Model): ) > 1 ): - raise ValidationError("Ce SIREN existe déjà parmi les coopératives") + raise ValidationError(_("Ce SIREN existe déjà parmi les coopératives")) elif self.search_count([("siret", "=", self.siret)]) > 1: - raise ValidationError("Ce SIRET existe déjà") + raise ValidationError(_("Ce SIRET existe déjà")) # ------------------------------------------------------ # Actions @@ -606,7 +612,7 @@ class ScopPartner(models.Model): @api.onchange("is_seed_scop") def onchange_is_seed_scop(self): for coop in self: - if coop.is_seed_scop == True: + if coop.is_seed_scop: if coop.date_1st_sign: coop.seed_end = coop.date_1st_sign + timedelta(2556) else: @@ -630,14 +636,14 @@ class ScopPartner(models.Model): def onchange_mobile(self): if self.mobile and len(self.mobile) > 0 and len(self.mobile) < 10: raise ValidationError( - "Le numéro de téléphone doit contenir au moins 10 caractères" + _("Le numéro de téléphone doit contenir au moins 10 caractères") ) @api.onchange("phone") def onchange_phone(self): if self.phone and len(self.phone) > 0 and len(self.phone) < 10: raise ValidationError( - "Le numéro de téléphone doit contenir au moins 10 caractères" + _("Le numéro de téléphone doit contenir au moins 10 caractères") ) @api.onchange("siret") @@ -757,7 +763,7 @@ class ScopPartner(models.Model): # Hack pour notification lors de la modification du logo if "image_128" in vals: self.message_post( - body="Modification Logo", + body=_("Modification Logo"), subtype="cgscop_base.cg_values_change", ) @@ -770,9 +776,11 @@ class ScopPartner(models.Model): ): if not partner.email and not partner.phone and not partner.mobile: raise ValidationError( - "Vous devez saisir au moins un e-mail ou un téléphone\ + _( + "Vous devez saisir au moins un e-mail ou un téléphone\ pour " - + partner.name + + partner.name + ) ) # Création d'une période lors du changement de statut en Suivi @@ -875,7 +883,7 @@ class ScopPartner(models.Model): domtom = self.env.ref("cgscop_partner.domtom") if company.state_id == domtom: company.zip_departement = company.zip[:3] - except: + except Exception: company.zip_departement = company.zip[:2] else: company.zip_departement = company.zip[:2] @@ -1074,10 +1082,6 @@ class ScopPartner(models.Model): for partner in self: partner.revision_next_year = partner.revision_next_exercice + 1 - def _inverse_revision_next_year(self): - for expense in self: - return - @api.depends( "revision_type", "revision_ids", @@ -1087,7 +1091,7 @@ class ScopPartner(models.Model): def _compute_revision_next_exercice(self): for partner in self: # Si aucune périodicité de défini, on n'insiste pas - if partner.revision_type == False: + if not partner.revision_type: return # On commence par regarder si l'on a des révisions @@ -1127,10 +1131,6 @@ class ScopPartner(models.Model): # Pas de révision précédente partner.revision_next_exercice = base_rev + 2 - def _inverse_revision_next_exercice(self): - for expense in self: - return - # ------------------------------------------------------ # Button Action # ------------------------------------------------------ @@ -1268,25 +1268,29 @@ class ScopPartner(models.Model): # Affichage des coop avec filtre par défaut # ------------------------------------------------------ def show_coop(self): - - ctx = " 'default_is_company': True, 'default_is_cooperative': True, 'default_company_type': 'company', 'default_project_status': '6_suivi'}" + ctx = { + "default_is_company": True, + "default_is_cooperative": True, + "default_company_type": "company", + "default_project_status": "6_suivi", + } # Détermine le filtre par défaut pour l'affichage filtre = self.env.user.company_id.ur_id.partner_filter if filtre == "1": - mycontext = "{'search_default_is_adherent': True," + ctx + mycontext = ctx.update({"search_default_is_adherent": True}) elif filtre == "2": - mycontext = "{'search_default_my_ur_adherent': True," + ctx + mycontext = ctx.update({"search_default_my_ur_adherent": True}) elif filtre == "3": - mycontext = "{'search_default_is_federation_com': True," + ctx + mycontext = ctx.update({"search_default_is_federation_com": True}) elif filtre == "4": - mycontext = "{'search_default_is_federation_indus': True," + ctx + mycontext = ctx.update({"search_default_is_federation_indus": True}) elif filtre == "5": - mycontext = "{'search_default_my_is_federation_btp': True," + ctx + mycontext = ctx.update({"search_default_my_is_federation_btp": True}) elif filtre == "6": - mycontext = "{'search_default_my_is_federation_cae': True," + ctx + mycontext = ctx.update({"search_default_my_is_federation_cae": True}) else: - mycontext = "{'search_default_my_ur_adherent': True," + ctx + mycontext = ctx.update({"search_default_my_ur_adherent": True}) return { "name": "Coopératives", @@ -1320,22 +1324,19 @@ class ScopPartner(models.Model): # ------------------------------------------------------ def show_prospect(self): - ctx = " 'default_is_company': True, 'default_is_cooperative': True, 'default_company_type': 'company', 'default_project_status': '1_information'}" + ctx = { + "default_is_company": True, + "default_is_cooperative": True, + "default_company_type": "company", + "default_project_status": "1_information", + } # Détermine le filtre par défaut pour l'affichage filtre = self.env.user.company_id.ur_id.partner_filter - if filtre == "1": - mycontext = "{" + ctx + if filtre in ("1", "3", "4", "5", "6"): + mycontext = ctx elif filtre == "2": - mycontext = "{'search_default_my_ur': True," + ctx - elif filtre == "3": - mycontext = "{" + ctx - elif filtre == "4": - mycontext = "{" + ctx - elif filtre == "5": - mycontext = "{" + ctx - elif filtre == "6": - mycontext = "{" + ctx + mycontext = ctx.update({"search_default_my_ur": True}) else: mycontext = "{'search_default_my_ur': True," + ctx @@ -1386,24 +1387,21 @@ class ScopPartner(models.Model): # ------------------------------------------------------ def show_organisme(self): - ctx = " 'default_is_company': True, 'default_is_cooperative': True, 'default_company_type': 'company', 'default_project_status': '1_information'}" + ctx = { + "default_is_company": True, + "default_is_cooperative": True, + "default_company_type": "company", + "default_project_status": "1_information", + } # Détermine le filtre par défaut pour l'affichage filtre = self.env.user.company_id.ur_id.partner_filter - if filtre == "1": - mycontext = "{" + ctx + if filtre in ("1", "3", "4", "5", "6"): + mycontext = ctx elif filtre == "2": - mycontext = "{'search_default_my_ur_adherent': True," + ctx - elif filtre == "3": - mycontext = "{" + ctx - elif filtre == "4": - mycontext = "{" + ctx - elif filtre == "5": - mycontext = "{" + ctx - elif filtre == "6": - mycontext = "{" + ctx + mycontext = ctx.update({"search_default_my_ur_adherent": True}) else: - mycontext = "{'search_default_my_ur_adherent': True," + ctx + mycontext = ctx.update({"search_default_my_ur_adherent": True}) return { "name": "Tous les organismes", diff --git a/models/res_partner_lists.py b/models/res_partner_lists.py index 02586bd..b5fcb3e 100644 --- a/models/res_partner_lists.py +++ b/models/res_partner_lists.py @@ -1,7 +1,7 @@ # © 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import api, fields, models +from odoo import _, api, fields, models from odoo.exceptions import ValidationError @@ -57,7 +57,9 @@ class ResPartnerCreationOrigin(models.Model): @api.constrains("parent_id") def _check_origin_recursion(self): if not self._check_recursion(): - raise ValidationError("Vous ne pouvez pas créer des origines récursives.") + raise ValidationError( + _("Vous ne pouvez pas créer des origines récursives.") + ) return True @@ -119,7 +121,7 @@ class ResPartnerOrganizationType(models.Model): @api.constrains("parent_id") def _check_origin_recursion(self): if not self._check_recursion(): - raise ValidationError("Vous ne pouvez pas créer des types récursifs.") + raise ValidationError(_("Vous ne pouvez pas créer des types récursifs.")) return True diff --git a/models/scop_partner_staff.py b/models/scop_partner_staff.py index b45c805..92aa528 100644 --- a/models/scop_partner_staff.py +++ b/models/scop_partner_staff.py @@ -1,7 +1,7 @@ # © 2020 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import api, fields, models +from odoo import _, api, fields, models from odoo.exceptions import ValidationError @@ -133,7 +133,7 @@ class ScopPartnerStaff(models.Model): and not self.env.user.has_group("cgscop_partner.group_cg_administrative") ): raise ValidationError( - 'Vous ne pouvez choisir que des types "Régularisation".' + _('Vous ne pouvez choisir que des types "Régularisation".') ) # ------------------------------------------------------ @@ -157,14 +157,18 @@ class ScopPartnerStaff(models.Model): ): if self.staff_count == 0: raise ValidationError( - "La colonne Effectif (EF) doit être renseignée" - " et supérieurs à 0." + _( + "La colonne Effectif (EF) doit être renseignée" + " et supérieurs à 0." + ) ) elif self.is_partner_in_tracked_naf: if self.staff_count == 0 or self.staff_shareholder_count == 0: raise ValidationError( - "Les colonnes Effectif (EF) et Nb Sociétaires Salarié" - " doivent être renseignés et supérieurs à 0." + _( + "Les colonnes Effectif (EF) et Nb Sociétaires Salarié" + " doivent être renseignés et supérieurs à 0." + ) ) else: if ( @@ -173,8 +177,10 @@ class ScopPartnerStaff(models.Model): or self.staff_average == 0 ): raise ValidationError( - "Tous les effectifs doivent" - " être renseignés et supérieurs à 0." + _( + "Tous les effectifs doivent" + " être renseignés et supérieurs à 0." + ) ) @api.constrains("effective_date") @@ -195,7 +201,7 @@ class ScopPartnerStaff(models.Model): "questionnaire_inscription", ): raise ValidationError( - "Vous ne pouvez pas créer 2 ajustements à la même date." + _("Vous ne pouvez pas créer 2 ajustements à la même date.") ) # ------------------------------------------------------ diff --git a/models/scop_revision.py b/models/scop_revision.py index bcf1ab1..d63bd92 100644 --- a/models/scop_revision.py +++ b/models/scop_revision.py @@ -3,7 +3,7 @@ from datetime import date -from odoo import api, fields, models +from odoo import _, api, fields, models from odoo.exceptions import ValidationError @@ -51,7 +51,8 @@ class ScopRevision(models.Model): # Délégué réviseur par défaut self.delegate_id = self.partner_id.revision_person_id.id - # Dans le cas de l'UR idf on calcule une date de révision (pour éviter de saisir la date) + # Dans le cas de l'UR idf on calcule une date de révision + # (pour éviter de saisir la date) idf = self.env.ref("cgscop_partner.riga_14231").id if self.partner_id.ur_id.id == idf: if self.revision_result_year > 2000: @@ -60,7 +61,7 @@ class ScopRevision(models.Model): @api.constrains("revision_result_year") def _check_revision_result_year(self): if (self.revision_result_year > 2040) or (self.revision_result_year < 2010): - raise ValidationError("Exercice révisé invalide") + raise ValidationError(_("Exercice révisé invalide")) class ScopRevisionFormat(models.Model): diff --git a/static/src/js/activity_renderer.js b/static/src/js/activity_renderer.js index 5f26d3b..47cf614 100644 --- a/static/src/js/activity_renderer.js +++ b/static/src/js/activity_renderer.js @@ -6,6 +6,7 @@ odoo.define("cgscop_partner.ActivityRenderer", function (require) { ActivityRenderer.include({ _onResNameClicked: function (ev) { // Suppression du click sur Nom activité + ev.preventDefault(); }, }); }); diff --git a/static/src/js/kanban_renderer.js b/static/src/js/kanban_renderer.js index aa9b124..bfead75 100644 --- a/static/src/js/kanban_renderer.js +++ b/static/src/js/kanban_renderer.js @@ -4,12 +4,12 @@ odoo.define("cgscop_partner.kanban_renderer", function (require) { var KanbanRenderer = require("web.KanbanRenderer"); KanbanRenderer.include({ - _setState: function (state) { + _setState: function () { this._super.apply(this, arguments); var arch = this.arch; if (arch.attrs.block_drag_drop_kanban) { - if (arch.attrs.block_drag_drop_kanban == "true") { + if (arch.attrs.block_drag_drop_kanban === "true") { this.columnOptions.draggable = false; } } diff --git a/static/src/js/relational_fields.js b/static/src/js/relational_fields.js index cf312cd..d18b121 100644 --- a/static/src/js/relational_fields.js +++ b/static/src/js/relational_fields.js @@ -1,7 +1,6 @@ odoo.define("cgscop_partner.relational_fields", function (require) { "use strict"; - var AbstractField = require("web.AbstractField"); var relational_fields = require("web.relational_fields"); var FieldStatus = relational_fields.FieldStatus; @@ -11,7 +10,7 @@ odoo.define("cgscop_partner.relational_fields", function (require) { FieldStatus.include({ _render: function () { - var clickable_attr; + var clickable_attr = true; if (this.mode === "readonly") { clickable_attr = false; } else { diff --git a/views/assets.xml b/views/assets.xml index 47aa28d..b43d7c4 100644 --- a/views/assets.xml +++ b/views/assets.xml @@ -3,7 +3,7 @@ License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> <odoo> - <template + <template id="cgscop_assets_backend" name="cgscop_partner_assets" inherit_id="web.assets_backend" @@ -26,7 +26,7 @@ type="text/javascript" src="/cgscop_partner/static/src/js/relational_fields.js" /> - </xpath> + </xpath> </template> <menuitem diff --git a/views/res_partner.xml b/views/res_partner.xml index effb1a0..6f3f902 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -58,6 +58,7 @@ <field name="name">res.partner.scop.view.form</field> <field name="model">res.partner</field> <field name="inherit_id" ref="base.view_partner_form" /> + <field name="priority">100</field> <field name="arch" type="xml"> <!-- Vue Partenaire et contact @@ -970,6 +971,15 @@ options="{'no_create': True}" attrs="{'invisible': [('project_status', 'in', ('1_information'))]}" /> + <br /> + <field name="is_mucs" readonly="True" /> + <field name="is_mucs_update_date" readonly="True" /> + <field name="is_union_sociale" readonly="True" /> + <field + name="is_union_sociale_update_date" + readonly="True" + /> + <field name="is_federation_com" invisible="True" /> <field name="is_federation_indus" invisible="True" /> <field diff --git a/wizard/scop_address_wizard.py b/wizard/scop_address_wizard.py index f2715ee..5538407 100644 --- a/wizard/scop_address_wizard.py +++ b/wizard/scop_address_wizard.py @@ -1,7 +1,7 @@ # © 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import api, fields, models +from odoo import _, api, fields, models from odoo.exceptions import ValidationError @@ -193,10 +193,13 @@ class ScopPeriodWizard(models.TransientModel): region = zip_id[0].city_id[0].state_id if partner.region and region != partner.region: raise ValidationError( - "Vous ne pouvez pas modifier l'adresse " - "dans une autre région.\n" - " - ancienne région : %s\n" - " - nouvelle région : %s" % (partner.region.name, region.name) + _( + "Vous ne pouvez pas modifier l'adresse " + "dans une autre région.\n" + " - ancienne région : %s\n" + " - nouvelle région : %s" + ) + % (partner.region.name, region.name) ) # Close previous period @@ -209,8 +212,10 @@ class ScopPeriodWizard(models.TransientModel): } else: raise ValidationError( - "La nouvelle période ne peut commencer avant la " - + "fin de la période précédente : " + _( + "La nouvelle période ne peut commencer avant la " + "fin de la période précédente : " + ) + str(previous_period.end) ) if period.start >= previous_period.start: @@ -224,8 +229,10 @@ class ScopPeriodWizard(models.TransientModel): ) else: raise ValidationError( - "La nouvelle période ne peut commencer avant la " - + "période précédente : " + _( + "La nouvelle période ne peut commencer avant la " + "période précédente : " + ) + str(previous_period.start) ) diff --git a/wizard/scop_deces_wizard.py b/wizard/scop_deces_wizard.py index f93d3c8..e6919c9 100644 --- a/wizard/scop_deces_wizard.py +++ b/wizard/scop_deces_wizard.py @@ -1,7 +1,7 @@ # © 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import api, fields, models +from odoo import _, api, fields, models from odoo.exceptions import ValidationError @@ -58,8 +58,10 @@ class ScopDecesWizard(models.TransientModel): ) else: raise ValidationError( - "La date de fin doit être postèrieure à la date de " - + "début de la dernière période: " + _( + "La date de fin doit être postèrieure à la date de " + + "début de la dernière période: " + ) + str(last_period.start) ) @@ -88,8 +90,8 @@ class ScopDecesWizard(models.TransientModel): ] ) for adh in adh_period: - if adh.end == False: + if not adh.end: adh.write({"end": period.end, "end_reason_id": motif.id}) else: - raise ValidationError("Il n'existe pas de période à fermer.") + raise ValidationError(_("Il n'existe pas de période à fermer.")) diff --git a/wizard/scop_membership_out_wizard.py b/wizard/scop_membership_out_wizard.py index bdc6aff..41e774f 100644 --- a/wizard/scop_membership_out_wizard.py +++ b/wizard/scop_membership_out_wizard.py @@ -1,7 +1,7 @@ # © 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import api, fields, models +from odoo import _, api, fields, models from odoo.exceptions import ValidationError @@ -87,11 +87,15 @@ class ScopMembershipOutWizard(models.TransientModel): ) else: raise ValidationError( - "La date de fin doit être postèrieure à la date de " - + "début de la dernière période: " + _( + "La date de fin doit être postèrieure à la date de " + + "début de la dernière période: " + ) + str(last_period.start) ) else: - raise ValidationError("Il n'existe pas de période avec ce type à fermer.") + raise ValidationError( + _("Il n'existe pas de période avec ce type à fermer.") + ) return diff --git a/wizard/scop_membership_period_wizard.py b/wizard/scop_membership_period_wizard.py index b3b3e5e..91a9cf5 100644 --- a/wizard/scop_membership_period_wizard.py +++ b/wizard/scop_membership_period_wizard.py @@ -1,7 +1,7 @@ # © 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import api, fields, models +from odoo import _, api, fields, models from odoo.exceptions import ValidationError @@ -39,7 +39,9 @@ class ScopMembershipPeriodWizard(models.TransientModel): ], limit=1, ): - raise ValidationError("Une période d'adhésion existe déjà pour ce type") + raise ValidationError( + _("Une période d'adhésion existe déjà pour ce type") + ) else: self.env["scop.membership.period"].create( { diff --git a/wizard/scop_period_wizard.py b/wizard/scop_period_wizard.py index 40eb46c..6496e49 100644 --- a/wizard/scop_period_wizard.py +++ b/wizard/scop_period_wizard.py @@ -247,16 +247,6 @@ class ScopPeriodWizard(models.TransientModel): period_values.update(values) self.env["scop.period"].create(period_values) - # Gestion du cas des non coopératives adhérentes - # HS le 14/06/2021, on ne remet pas à blanc les champs liés à la vie coopérative de la société - # non_coop = self.env.ref('cgscop_partner.form_noncooperative') - # if period.cooperative_form_id == non_coop: - # partner_values.update({ - # 'creation_origin_id': None, - # 'date_1st_sign': None, - # 'first_closeout': None - # }) - # Update partner partner_values.update(values) -- GitLab