From 725ecdac7e73c9f86001b1061e2b6145b0ddc7f3 Mon Sep 17 00:00:00 2001 From: benjamin <benjamin@le-filament.com> Date: Wed, 23 Aug 2023 16:31:31 +0200 Subject: [PATCH] [update] membership doc validation --- __init__.py | 2 +- models/res_partner.py | 28 +++++-------------------- wizard/__init__.py | 4 ++++ wizard/scop_membership_submit_wizard.py | 23 ++++++++++++++++++++ 4 files changed, 33 insertions(+), 24 deletions(-) create mode 100644 wizard/__init__.py create mode 100644 wizard/scop_membership_submit_wizard.py diff --git a/__init__.py b/__init__.py index 957992f..11671ff 100644 --- a/__init__.py +++ b/__init__.py @@ -1,4 +1,4 @@ # Copyright 2021 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from . import models +from . import models, wizard diff --git a/models/res_partner.py b/models/res_partner.py index 427f7e5..7804782 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -68,25 +68,7 @@ class ScopAlfrescoAdhesionPartner(models.Model): } def check_docs_adhesion(self): - compulsory_docs = self.get_compulsory_docs() - missing_docs = self.check_compulsory_docs() - html = str() - for doc in compulsory_docs: - html += "<input type='checkbox'" - if doc.name not in missing_docs: - html += "checked" - html += "/> " + doc.name + "<br/>" - local_tz = timezone("Europe/Paris") - utc_tz = timezone("UTC") - html += ( - "<hr/>Vérifié le " - + "<strong>" - + utc_tz.localize(fields.Datetime.now()) - .astimezone(local_tz) - .strftime("%d/%m/%Y à %-H:%M") - + "</strong>" - ) - self.log_missing_docs = html + self.scop_check_docs("adhesion") # ------------------------------------------------------ # Business method @@ -108,6 +90,10 @@ class ScopAlfrescoAdhesionPartner(models.Model): """ errors = str() compulsory_docs = self.get_compulsory_docs(type_process) + # Remove KBIS for registration in progress + if type_process == "project" and self.is_registration_in_progress: + compulsory_docs = compulsory_docs.filtered(lambda d: d.type_doc != "KBI") + # Get loaded docs loaded_docs = self.compulsory_doc_cmis_query() errors_complete_docs = self.check_compulsory_docs(compulsory_docs, loaded_docs) @@ -238,10 +224,6 @@ class ScopAlfrescoAdhesionPartner(models.Model): Inherit parent to check documents """ res = super(ScopAlfrescoAdhesionPartner, self).scop_sumbit_cg() - # vérification des documents obligatoires - self.scop_check_docs( - "adhesion", "Impossible de transmettre le dossier d'adhésion" - ) return res # ------------------------------------------------------ diff --git a/wizard/__init__.py b/wizard/__init__.py new file mode 100644 index 0000000..fa7df48 --- /dev/null +++ b/wizard/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2021 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import scop_membership_submit_wizard diff --git a/wizard/scop_membership_submit_wizard.py b/wizard/scop_membership_submit_wizard.py new file mode 100644 index 0000000..ef06b11 --- /dev/null +++ b/wizard/scop_membership_submit_wizard.py @@ -0,0 +1,23 @@ +# © 2021 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import models + + +class ScopMembershipSubmitWizard(models.TransientModel): + _inherit = "scop.membership.submit.wizard" + + # ------------------------------------------------------ + # Compute + # ------------------------------------------------------ + def _compute_list_logs(self): + super(ScopMembershipSubmitWizard, self)._compute_list_logs() + # vérification des documents obligatoires + self.partner_id.scop_check_docs( + "adhesion", "Impossible de transmettre le dossier d'adhésion" + ) + if not self.list_logs: + self.list_logs = self.partner_id.list_logs + else: + if self.partner_id.list_logs: + self.list_logs = self.partner_id.list_logs + self.list_logs -- GitLab