From c3286b6ceb5683e604d8ddbf45c69e0cabbce984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20-=20Le=20Filament?= <remi@le-filament.com> Date: Mon, 20 Jan 2025 11:36:37 +0100 Subject: [PATCH] [DEL] remove dependency to Alfresco not used anymore --- __manifest__.py | 4 -- models/__init__.py | 1 - models/account_invoice.py | 89 +-------------------------------- models/lefilament_alfresco.py | 35 ------------- models/project.py | 6 +-- security/ir.model.access.csv | 1 - views/account_invoice_views.xml | 7 +-- views/assets.xml | 8 --- 8 files changed, 3 insertions(+), 148 deletions(-) delete mode 100644 models/lefilament_alfresco.py delete mode 100755 security/ir.model.access.csv delete mode 100644 views/assets.xml diff --git a/__manifest__.py b/__manifest__.py index 2067bb6..1abc6c5 100755 --- a/__manifest__.py +++ b/__manifest__.py @@ -6,15 +6,11 @@ 'version': '12.0.1.0.1', 'license': "AGPL-3", 'depends': [ - 'cmis', - 'cmis_field', 'adefpat_project', 'account', - 'adefpat_alfresco_generation', 'web_domain_field', ], 'data': [ - # "security/ir.model.access.csv", # datas 'data/account_data.xml', 'report/account_invoice_template.xml', diff --git a/models/__init__.py b/models/__init__.py index 3f37b1e..b2faa42 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -4,4 +4,3 @@ from . import account_invoice from . import project from . import product_template -from . import lefilament_alfresco diff --git a/models/account_invoice.py b/models/account_invoice.py index 25c65ac..1958c2d 100644 --- a/models/account_invoice.py +++ b/models/account_invoice.py @@ -6,13 +6,12 @@ import json from odoo import api, models from odoo import fields as odooFields -from odoo.addons.cmis_field import fields from odoo.exceptions import UserError class AccountInvoice(models.Model): _name = 'account.invoice' - _inherit = ['account.invoice', 'lefilament.alfresco'] + _inherit = 'account.invoice' # ------------------------------------------------------ # Fields declaration @@ -32,10 +31,6 @@ class AccountInvoice(models.Model): string="Type de convention de financement", ) alfresco_file = odooFields.Char("Facture liée") - cmis_folder = fields.CmisFolder( - allow_create=True, - allow_delete=False, - ) task_ids = odooFields.One2many( "project.task", "invoice_id", @@ -121,89 +116,7 @@ class AccountInvoice(models.Model): # ------------------------------------------------------ # Actions # ------------------------------------------------------ - @api.multi - def generate_alfresco_file(self): - """ - Ajoute un fichier sur la GED Alfresco - @return: fonction get_partner_files() de res.partner - """ - # Get proof folder nodeRef - backend = self.env['cmis.backend'].search([], limit=1) - # Si la facture a déjà été créée, ouvrir dans Alfresco - if self.alfresco_file: - prop = backend.get_cmis_repository().getFolder( - self.alfresco_file).getProperties() - url = backend.get_content_details_url_from_props(prop) - # Sinon, la créer, puis la stocker ainsi que les documents liées à la facture dans Alfresco - else: - project_folder = self.project_id.cmis_folder - self.cmis_folder = project_folder - - if not project_folder: - raise UserError("Le dossier du projet n'est pas configuré") - - # Get Mimetype - attachment = self.env.ref('account.account_invoices').retrieve_attachment(self) - if not attachment: - raise UserError("La facture n'a pas encore été générée. Imprimer la facture pour pouvoir la visualiser dans Alfresco") - - content_type = attachment.mimetype - - path_proj = backend.get_cmis_repository().getFolder( - project_folder).getPaths() - # Get template doc Facture - template_doc = self.env['adefpat.template.doc'].search([ - ('type_temp', '=', 'facture'), - ('noderef_document', '=', False)]) - - # Get doc linked to Facture - template_doc_ids = self.env['adefpat.template.doc'].search([ - ('type_temp', '=', 'facture'), - ('noderef_document', '!=', False)]) - - # Strore template in Alfresco - for template in template_doc_ids: - keys = self.fill_data() - self._publipostage_documents(template, keys, False) - - path_n0 = path_proj + [template_doc.dossier.name] - path = '/'.join(path_n0) - cmis_obj = backend.get_folder_by_path(path) - - file = cmis_obj.createDocument( - name=attachment.name, - properties={}, - contentFile=base64.b64decode(attachment.datas), - contentType=content_type - ) - file_id = file.getProperties().get('cmis:objectId') - self.alfresco_file = file.getObjectId() - prop = backend.get_cmis_repository().getFolder( - file_id).getProperties() - url = backend.get_content_details_url_from_props(prop) - return { - 'type': 'ir.actions.act_url', - 'url': url, - 'target': 'new', - } # ------------------------------------------------------ # Business methods # ------------------------------------------------------ - def fill_data(self): - - parser = [ - ('partner_id:name_benef', ['name']), - ('partner_id:title_benef', [('title', ['name'])]), - ('partner_id:zip_benef', ['zip']), - ('partner_id:city_benef', ['city']), - ('partner_id:street_benef', ['street']), - ('project_id:cfd_name', [('user_id', ['name'])]), - ('project_id:cfd_mobile', [('user_id', ['mobile'])]), - ('project_id:project_name', ['name']), - 'amount_total:montant', - 'date_invoice:date', - ] - - keys = self.json_build(parser)[0] - return keys diff --git a/models/lefilament_alfresco.py b/models/lefilament_alfresco.py deleted file mode 100644 index 9b07ef1..0000000 --- a/models/lefilament_alfresco.py +++ /dev/null @@ -1,35 +0,0 @@ -# © 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, models -from odoo.exceptions import UserError - - -class LeFilamentAlfresco(models.AbstractModel): - """ Appelle l'API alfresco et implémente les fonctions suivantes : - - """ - _inherit = 'lefilament.alfresco' - - def publipostage_documents(self, url, path, template_doc, backend, keys=None, versionable=None): - if template_doc.type_temp == "facture": - template_name = "lettre_facture_" + self.partner_id.name + "_" + str(self.date_invoice) + ".docx" - # get NodeRef from folder linked - cmis_obj_nodeRef = backend.get_folder_by_path(path).getProperties()['alfcmis:nodeRef'] - - options = { - "destinationNodeRef": cmis_obj_nodeRef, - "versionable": versionable, - } - - return self.alfresco_publipostage_documents( - url=url, - filename=template_name, - templateNodeRef=template_doc.noderef_document, - convertToPDF=False, - keys=keys, - options=options, - backend=backend) - else: - return super(LeFilamentAlfresco, self).publipostage_documents(url, path, template_doc, backend, keys, versionable) - diff --git a/models/project.py b/models/project.py index 5095633..26f45fc 100644 --- a/models/project.py +++ b/models/project.py @@ -124,14 +124,10 @@ class ProjectTask(models.Model): payment_date_invoice = fields.Date("Date de paiement de la facture") date_account = fields.Date("Date de la facture") - # @api.multi - # def write(self, values): - # test = super(ProjectTask, self).write(values) - # return test class AdefpatFinancement(models.Model): _inherit = 'adefpat.project.financement' invoice_id = fields.Many2one( 'account.invoice', - string='Facture liée') \ No newline at end of file + string='Facture liée') diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv deleted file mode 100755 index 301b7da..0000000 --- a/security/ir.model.access.csv +++ /dev/null @@ -1 +0,0 @@ -id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink diff --git a/views/account_invoice_views.xml b/views/account_invoice_views.xml index 0b67be9..aa70afb 100644 --- a/views/account_invoice_views.xml +++ b/views/account_invoice_views.xml @@ -7,11 +7,6 @@ <field name="model">account.invoice</field> <field name="inherit_id" ref="account.invoice_form"/> <field name="arch" type="xml"> - <header position="inside"> - <button string="Afficher dans Alfresco" - type="object" class="btn-secondary" - name="generate_alfresco_file"/> - </header> <xpath expr="//field[@name='user_id']" position="after"> <field name="project_id"/> <field name="num_dossier"/> @@ -101,4 +96,4 @@ </record> </data> -</odoo> \ No newline at end of file +</odoo> diff --git a/views/assets.xml b/views/assets.xml deleted file mode 100644 index 17cad91..0000000 --- a/views/assets.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<odoo> - <data> - - - - </data> -</odoo> \ No newline at end of file -- GitLab