From 7798e76a9e010e523c08377339e3c304e7011cc8 Mon Sep 17 00:00:00 2001 From: benjamin <benjamin@le-filament.com> Date: Wed, 21 Jul 2021 15:59:18 +0200 Subject: [PATCH] [add] check documents --- models/res_partner.py | 10 ++++++++-- models/scop_adhesion_file.py | 5 ++--- views/scop_adhesion_file.xml | 1 - 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/models/res_partner.py b/models/res_partner.py index 0a26d92..40b3b4d 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -228,9 +228,15 @@ class ScopAlfrescoAdhesionPartner(models.Model): ]) loaded_docs = self.env['scop.adhesion.file'].\ compulsory_doc_cmis_query(self) - # TODO : Check diff between compulsory docs and loaded docs + + compulsory_docs_list = compulsory_docs.mapped(lambda d: {'name': d.name, 'metadata': d.type_doc}) + loaded_docs_list = list(map(lambda d: d.properties.get('crm:type'), loaded_docs)) + for madatory_doc in compulsory_docs_list: + if madatory_doc.get('metadata') not in loaded_docs_list: + errors += "<li>" + madatory_doc.get('name') + "</li>" + if errors: - res = '---\n Documents manquants :\n' + errors + res = '<hr/><strong>Documents manquants :</strong><u:>' + errors + '</ul>' return res else: return str() diff --git a/models/scop_adhesion_file.py b/models/scop_adhesion_file.py index 17776d8..6e81a1f 100644 --- a/models/scop_adhesion_file.py +++ b/models/scop_adhesion_file.py @@ -9,7 +9,6 @@ class ScopAdhesionFiles(models.Model): _description = 'Documents pour adhésion des coops' type_doc = fields.Char('Méta : Type') - contexte_doc = fields.Char('Méta : Contexte') # ------------------------------------------------------ # Business method @@ -18,14 +17,14 @@ class ScopAdhesionFiles(models.Model): backend = self.env['cmis.backend'].search([]) backend.ensure_one() cmis_client = backend.get_cmis_client() - # TODO : Write correct query query = (""" SELECT * FROM crm:document as d JOIN crm:organisme as o ON d.cmis:objectId = o.cmis:objectId WHERE o.crm:id = '%s'""" % partner.id) try: doc = cmis_client.getDefaultRepository().query(query) - return doc._results + result = doc.getResults() + return result except Exception as e: raise exceptions.Warning( "Impossible de vérifier les documents d'adhésion" diff --git a/views/scop_adhesion_file.xml b/views/scop_adhesion_file.xml index 37830e6..258558a 100755 --- a/views/scop_adhesion_file.xml +++ b/views/scop_adhesion_file.xml @@ -12,7 +12,6 @@ <field name="arch" type="xml"> <xpath expr="//tree" position="inside"> <field name="type_doc"/> - <field name="contexte_doc"/> </xpath> </field> </record> -- GitLab