From 8d204ef3178a16d1dc13dcb532ad4b2d98267b82 Mon Sep 17 00:00:00 2001
From: Benjamin <benjamin@le-filament.com>
Date: Mon, 26 Oct 2020 14:41:23 +0100
Subject: [PATCH] [update] modification des fonctions Alfodoo

---
 __manifest__.py       |  3 ++-
 models/res_partner.py | 33 +++++++++++++++++++++++++++++++--
 views/res_partner.xml |  8 +++++++-
 3 files changed, 40 insertions(+), 4 deletions(-)
 mode change 100644 => 100755 __manifest__.py

diff --git a/__manifest__.py b/__manifest__.py
old mode 100644
new mode 100755
index e541e5a..d6bb33d
--- 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 940c1b2..5d1771b 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 bc8a449..5841ee4 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>
-- 
GitLab