Skip to content
Snippets Groups Projects
Commit 74b04c1c authored by Benjamin - Le Filament's avatar Benjamin - Le Filament
Browse files

[add] create cmis folder function

parent eebcc773
No related branches found
No related tags found
No related merge requests found
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, models from odoo import api, models
from odoo.exceptions import UserError
from odoo.addons.cmis_field import fields from odoo.addons.cmis_field import fields
ALFRESCO_TRACKED_FIELDS = ['name', 'id', 'siret', 'member_number', 'ur_id'] ALFRESCO_TRACKED_FIELDS = ['name', 'id', 'siret', 'member_number', 'ur_id']
...@@ -59,21 +60,19 @@ class AlfodooResPartner(models.Model): ...@@ -59,21 +60,19 @@ class AlfodooResPartner(models.Model):
la raison sociale, le nom, le siret, l'id Odoo ou le la raison sociale, le nom, le siret, l'id Odoo ou le
num adhérent num adhérent
""" """
tracked_fields = self.fields_get(ALFRESCO_TRACKED_FIELDS) change_fields = vals.keys()
# Dict des valeurs initiales des champs présents dans TRACKED_FIELDS # check intersection
initial_values = dict( is_alfresco_field = [
(record.id, dict( value for value in change_fields if value in ALFRESCO_TRACKED_FIELDS]
(key, getattr(record, key)) for key in tracked_fields)) for record in self.filtered('is_cooperative'))
# Ecriture des nouvelles valeurs # Ecriture des nouvelles valeurs
result = super(AlfodooResPartner, self).write(vals) result = super(AlfodooResPartner, self).write(vals)
# Dict des nouvelles valeurs
new_values = dict(
(record.id, dict(
(key, getattr(record, key)) for key in tracked_fields)) for record in self.filtered('is_cooperative'))
# Check des modifications sur les coopératives présentes dans RIGA # Check des modifications sur les coopératives présentes dans RIGA
for record in self: for record in self:
if record.is_cooperative and record.partner_cmis_folder: if record.is_cooperative and record.partner_cmis_folder:
if new_values[record.id] != initial_values[record.id]: if is_alfresco_field:
backend = self._fields['partner_cmis_folder'] backend = self._fields['partner_cmis_folder']
properties = self._get_folder_properties( properties = self._get_folder_properties(
record, backend).get(record.id) record, backend).get(record.id)
...@@ -90,5 +89,22 @@ class AlfodooResPartner(models.Model): ...@@ -90,5 +89,22 @@ class AlfodooResPartner(models.Model):
backend = self._fields['partner_cmis_folder'] backend = self._fields['partner_cmis_folder']
folder = backend.get_cmis_object(partner) folder = backend.get_cmis_object(partner)
folder.delete() folder.delete()
partner.partner_cmis_folder = False
return super(AlfodooResPartner, self).unlink() return super(AlfodooResPartner, self).unlink()
# ------------------------------------------------------
# Common Functions
# ------------------------------------------------------
@api.multi
def create_cmis_folder(self):
for partner in self:
if partner.partner_cmis_folder:
raise UserError("Le partenaire a déjà un dossier Alfresco associé")
else:
try:
partner._fields['partner_cmis_folder'].create_value(
partner)
return partner.partner_cmis_folder
except Exception as e:
return e.name
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment