|
@@ -1,9 +1,8 @@
|
|
|
# -*- coding: utf-8 -*-
|
|
|
-from django.db import models
|
|
|
from django.db import transaction
|
|
|
|
|
|
|
|
|
-class CoinLdapSyncModel(models.Model):
|
|
|
+class CoinLdapSyncMixin(object):
|
|
|
|
|
|
"""
|
|
|
Ce modèle abstrait est à utiliser lorsqu'il s'agit de définir un modèle
|
|
@@ -28,7 +27,7 @@ class CoinLdapSyncModel(models.Model):
|
|
|
creation = (self.pk == None)
|
|
|
|
|
|
# Sauvegarde en base de donnée (mais sans commit, cf decorator)
|
|
|
- super(CoinLdapSyncModel, self).save(*args, **kwargs)
|
|
|
+ super(CoinLdapSyncMixin, self).save(*args, **kwargs)
|
|
|
|
|
|
# Sauvegarde dans le LDAP
|
|
|
# Si la sauvegarde LDAP échoue, Rollback la sauvegarde en base, sinon
|
|
@@ -41,13 +40,9 @@ class CoinLdapSyncModel(models.Model):
|
|
|
@transaction.atomic
|
|
|
def delete(self, *args, **kwargs):
|
|
|
# Supprime de la base de donnée (mais sans commit, cf decorator)
|
|
|
- super(CoinLdapSyncModel, self).delete(*args, **kwargs)
|
|
|
+ super(CoinLdapSyncMixin, self).delete(*args, **kwargs)
|
|
|
|
|
|
try:
|
|
|
self.delete_from_ldap()
|
|
|
except:
|
|
|
raise
|
|
|
-
|
|
|
-
|
|
|
- class Meta:
|
|
|
- abstract = True
|