diff --git a/__manifest__.py b/__manifest__.py index 0d523e710d1d8650b439af5fbf05c02e5110c28c..7c0d88b13ccff1b7776c65d1cc75fe65f26ce1a4 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -10,6 +10,7 @@ "depends": [ "cgscop_inovatic", "cgscop_liasse_fiscale", + "cgscop_liasse_fiscale_alfodoo", "cgscop_liste_ministere", ], "data": [ diff --git a/models/scop_liste_ministere.py b/models/scop_liste_ministere.py index 310b8a5a203705d2f435c0d9d717c8615e5b7967..03d9611796779b16cf76cb731a073bdb2cee65d4 100644 --- a/models/scop_liste_ministere.py +++ b/models/scop_liste_ministere.py @@ -16,26 +16,16 @@ class ListeMinistereInovatic(models.Model): ) last_job_queue_state = fields.Selection(related="last_job_queue.state") last_job_queue_date_sync = fields.Datetime(related="last_job_queue.date_sync") + liasse_node_ref = fields.Char( + "NodeRef Alfresco", related="scop_liasse_fiscale_id.node_ref" + ) # ------------------------------------------------------ # Button functions # ------------------------------------------------------ def inovatic_treatment(self): liasse_id = self.create_liasse_fiscale() - backend = self.env["cmis.backend"].search([]) - backend.ensure_one() - cmis_client = backend.get_cmis_client() - query = """ - SELECT * FROM crm:document as d - JOIN crm:organisme as o ON d.cmis:objectId = o.cmis:objectId - WHERE d.crm:type='LFI' - AND d.crm:contexte = 'LM' - AND d.crm:annee = '%s' - AND o.crm:id = '%s'""" % ( - str(self.year), - str(self.partner_id.id), - ) - doc = cmis_client.getDefaultRepository().query(query) + doc = self.get_alfresco_liasse() if doc: job_queue = self.env["inovatic.job.queue"].create( {"liasse_fiscale_id": liasse_id.id} @@ -72,3 +62,27 @@ class ListeMinistereInovatic(models.Model): except Exception as e: _logger.error(e) super().action_completed() + + # ------------------------------------------------------ + # Common function + # ------------------------------------------------------ + def get_alfresco_liasse(self): + """ + :param integer year: year of liasse of LM + @returns cmis doc: alfresco document + """ + backend = self.env["cmis.backend"].search([]) + backend.ensure_one() + cmis_client = backend.get_cmis_client() + query = """ + SELECT * FROM crm:document as d + JOIN crm:organisme as o ON d.cmis:objectId = o.cmis:objectId + WHERE d.crm:type='LFI' + AND d.crm:contexte = 'LM' + AND d.crm:annee = '%s' + AND o.crm:id = '%s'""" % ( + str(self.year - 1), + str(self.partner_id.id), + ) + doc = cmis_client.getDefaultRepository().query(query) + return doc diff --git a/views/scop_liste_ministere.xml b/views/scop_liste_ministere.xml index 2d7d515056e94a9cd92537cab820aacadcb9e253..63b894d78b30bb05e1a56230907e6a035a5077c9 100644 --- a/views/scop_liste_ministere.xml +++ b/views/scop_liste_ministere.xml @@ -28,6 +28,8 @@ class="m-3" attrs="{'invisible':[('status_liasse_fiscale', '=', 'valide')]}" /> + </xpath> + <xpath expr="//group[@name='main_kpi']" position="before"> <field name="last_job_queue" invisible="1" /> <div class="col-12" @@ -71,6 +73,17 @@ name="last_job_queue" /> </div> + <div class="col-12"> + <div class="mt16 mb8"> + <field + name="liasse_node_ref" + string="Voir le fichier PDF" + widget="cmis_file_preview" + icon="fa-eye" + color="btn-info" + /> + </div> + </div> </xpath> </field> </record>