diff --git a/__manifest__.py b/__manifest__.py index 2067bb6d89cfaf08dcca1a116a4e1e41bb5e3a5c..1abc6c5acd3d956a2333684f7d14a36afed4713f 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 3f37b1e29d97c6585149fc5ac74001c1fcea21cc..b2faa423f153645a459046bfa71f81162cdb894f 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 25c65acc0934f2e924f9e79c5546684156cc797d..1958c2d3de8c3266569cef138f96ea0fbb722aeb 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 9b07ef16d9a13aa98211841612284e5e4e289843..0000000000000000000000000000000000000000 --- 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 5095633b4190e849a5bbe62c982787efc52ffde3..26f45fcc3742b7c7b8c8b22849e98c64ced02237 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 301b7dab167cbcb978ea78e7da9e7f032c40b90e..0000000000000000000000000000000000000000 --- 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 0b67be9048b6b252074453762a77f3c49d16a3c2..aa70afb5f022f612ab2ce0dccd63e827015803f3 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 17cad91928430d903ac8feb599e0f7ff44d8aad7..0000000000000000000000000000000000000000 --- 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