|
@@ -2,10 +2,9 @@
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
|
from django.db import transaction
|
|
|
-
|
|
|
+from django.conf import settings
|
|
|
|
|
|
class CoinLdapSyncMixin(object):
|
|
|
-
|
|
|
"""
|
|
|
Ce mixin est à utiliser lorsqu'il s'agit de définir un modèle
|
|
|
à synchroniser avec le LDAP. Le modèle doit définir les méthodes :
|
|
@@ -38,17 +37,19 @@ class CoinLdapSyncMixin(object):
|
|
|
# Sauvegarde dans le LDAP
|
|
|
# Si la sauvegarde LDAP échoue, Rollback la sauvegarde en base, sinon
|
|
|
# commit
|
|
|
- try:
|
|
|
- self.sync_to_ldap(creation=creation,update_fields=update_fields)
|
|
|
- except:
|
|
|
- raise
|
|
|
+ if settings.LDAP_ACTIVATE:
|
|
|
+ try:
|
|
|
+ self.sync_to_ldap(creation=creation,update_fields=update_fields)
|
|
|
+ except:
|
|
|
+ raise
|
|
|
|
|
|
@transaction.atomic
|
|
|
def delete(self, *args, **kwargs):
|
|
|
# Supprime de la base de donnée (mais sans commit, cf decorator)
|
|
|
super(CoinLdapSyncMixin, self).delete(*args, **kwargs)
|
|
|
|
|
|
- try:
|
|
|
- self.delete_from_ldap()
|
|
|
- except:
|
|
|
- raise
|
|
|
+ if settings.LDAP_ACTIVATE:
|
|
|
+ try:
|
|
|
+ self.delete_from_ldap()
|
|
|
+ except:
|
|
|
+ raise
|