diff --git a/__manifest__.py b/__manifest__.py old mode 100644 new mode 100755 index e541e5a22bbc069ccb52d75a3722ef0196bd4a0a..d6bb33d47b01acee59052da75e5607a87965eaa0 --- a/__manifest__.py +++ b/__manifest__.py @@ -11,7 +11,8 @@ "contacts", "cmis_alf", "cmis_web", - ], + "lefilament_alfodoo", + ], 'data': [ 'views/res_partner.xml', ], diff --git a/models/res_partner.py b/models/res_partner.py index 940c1b218f7f577c7ab7958855e7ba268acc3adc..5d1771b066885647b24a9238d3641c6a0c0abb79 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -12,10 +12,39 @@ class AlfodooResPartner(models.Model): _inherit = ['res.partner', 'cgscop.alfresco'] partner_cmis_folder = fields.CmisFolder( - allow_create=False, - allow_delete=False + allow_create=True, + allow_delete=False, + create_parent_get='_get_parent_path', + create_properties_get='_get_folder_properties', ) + # ------------------------------------------------------ + # Override Alfodoo + # ------------------------------------------------------ + def _get_parent_path(self, records, backend): + """ + Défini le répertoire parent : + le répertoire configuré par défaut dans le backend + """ + path_parts = backend.initial_directory_write.split('/') + parent_cmis_object = backend.get_folder_by_path_parts( + path_parts, create_if_not_found=True) + path = dict.fromkeys(self.ids, parent_cmis_object) + return path + + def _get_folder_properties(self, records, backend): + """ + Ajoute les propriétés au dossier lors de la création dans Alfresco + """ + return { + self.id: { + 'cmis:raisonSociale': self.name, + 'cmis:siret': self.siret, + 'cmis:numAdherent': self.member_number, + 'crm:id': str(self.id), + } + } + # ------------------------------------------------------ # Override ORM # ------------------------------------------------------ diff --git a/views/res_partner.xml b/views/res_partner.xml index bc8a449e4c5c707470d221bddeec6580c288e715..5841ee4ff4694c38b93d17ad043276674f1a005e 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -14,7 +14,13 @@ <!-- Ajoute l'onglet Documents dans la vue coopérative --> <xpath expr="//div[@name='cooperative']/notebook" position="inside"> <page string="Documents" groups="base.group_user"> - <field name="partner_cmis_folder"/> + <field name="partner_cmis_folder" + canCreateFolder="0" + canImportNewVersion="0" + canUpdate="0" + canCopyCutPaste="0" + canRename="0" + metadata="[{'name': 'crm:type', 'type': 'selection', 'label': 'Type', 'objectType': 'D:crm:document'}, {'name': 'crm:periode', 'type': 'selection', 'label': 'Période', 'objectType': 'D:crm:document'}]/> </page> </xpath> </field>