Skip to content
Extraits de code Groupes Projets
Valider dd3cfd2a rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[add] fonctions partner pour mise à jour metadonnees Alfresco

parent b0c71577
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!112.0 alfodoo
{
'name': "CG Scop - Partner Alfresco",
'name': "CG Scop - Alfodoo Partner",
'summary': "Connexion Alfodoo pour les Coopératives",
'author': "Le Filament",
'website': "https://www.le-filament.com",
......
# Copyright 2019 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models
from odoo import api, models
from odoo.addons.cmis_field import fields
ALFRESCO_TRACKED_FIELDS = ['name', 'id', 'siret', 'member_number']
class AlfodooResPartner(models.Model):
_inherit = "res.partner"
_name = 'res.partner'
_inherit = ['res.partner', 'cgscop.alfresco']
partner_cmis_folder = fields.CmisFolder(
allow_create=False,
allow_delete=False
)
# ------------------------------------------------------
# Override ORM
# ------------------------------------------------------
@api.multi
def write(self, vals):
""" Surcharge la fonction write() pour mettre à jour
la raison sociale, le nom, le siret, l'id Odoo ou le
num adhérent
"""
tracked_fields = self.fields_get(ALFRESCO_TRACKED_FIELDS)
# Dict des valeurs initiales des champs présents dans TRACKED_FIELDS
initial_values = dict(
(record.id, dict(
(key, getattr(record, key)) for key in tracked_fields)) for record in self.filtered('is_cooperative'))
# Ecriture des nouvelles valeurs
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
for record in self:
if record.is_cooperative and record.partner_cmis_folder:
if new_values[record.id] != initial_values[record.id]:
self.alfresco_update_organism(record)
return result
@api.multi
def unlink(self):
for partner in self:
if partner.partner_cmis_folder:
partner.alfresco_remove(partner.partner_cmis_folder)
return super(AlfodooResPartner, self).unlink()
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter