Parcourir la source

Merge branch 'jd-225-ldap-disable'

Conflicts:
	coin/mixins.py
Baptiste Jonglez il y a 10 ans
Parent
commit
1f2a48020e
3 fichiers modifiés avec 21 ajouts et 10 suppressions
  1. 4 0
      README.md
  2. 14 10
      coin/mixins.py
  3. 3 0
      coin/settings.py

+ 4 - 0
README.md

@@ -66,6 +66,10 @@ settings:
 At this point, you should setup your database.  Recommended is postgreSQL,
 At this point, you should setup your database.  Recommended is postgreSQL,
 but you might be able to use SQLite.  For more information, see https://www.illyse.org/projects/ils-si/wiki/Mise_en_place_environnement_de_dev
 but you might be able to use SQLite.  For more information, see https://www.illyse.org/projects/ils-si/wiki/Mise_en_place_environnement_de_dev
 
 
+If you don't want to use a LDAP, just set in your `settings_local.py`
+
+    LDAP_ENABLE = False
+
 The first time, you need to create the database, create a superuser, and
 The first time, you need to create the database, create a superuser, and
 import some base data to play with:
 import some base data to play with:
 
 

+ 14 - 10
coin/mixins.py

@@ -2,6 +2,7 @@
 from __future__ import unicode_literals
 from __future__ import unicode_literals
 
 
 from django.db import transaction
 from django.db import transaction
+from django.conf import settings
 
 
 
 
 class CoinLdapSyncMixin(object):
 class CoinLdapSyncMixin(object):
@@ -19,7 +20,6 @@ class CoinLdapSyncMixin(object):
         raise NotImplementedError('Using CoinLdapSyncModel require '
         raise NotImplementedError('Using CoinLdapSyncModel require '
                                   'sync_to_ldap method being implemented')
                                   'sync_to_ldap method being implemented')
 
 
-
     def delete_from_ldap(self, *args, **kwargs):
     def delete_from_ldap(self, *args, **kwargs):
         raise NotImplementedError('Using CoinLdapSyncModel require '
         raise NotImplementedError('Using CoinLdapSyncModel require '
                                   'delete_from_ldap method being implemented')
                                   'delete_from_ldap method being implemented')
@@ -30,7 +30,8 @@ class CoinLdapSyncMixin(object):
         creation = (self.pk == None)
         creation = (self.pk == None)
 
 
         # Récupère les champs mis à jour si cela est précisé
         # Récupère les champs mis à jour si cela est précisé
-        update_fields = kwargs['update_fields'] if 'update_fields' in kwargs else None
+        update_fields = kwargs[
+            'update_fields'] if 'update_fields' in kwargs else None
 
 
         # Sauvegarde en base de donnée (mais sans commit, cf decorator)
         # Sauvegarde en base de donnée (mais sans commit, cf decorator)
         super(CoinLdapSyncMixin, self).save(*args, **kwargs)
         super(CoinLdapSyncMixin, self).save(*args, **kwargs)
@@ -38,17 +39,20 @@ class CoinLdapSyncMixin(object):
         # Sauvegarde dans le LDAP
         # Sauvegarde dans le LDAP
         # Si la sauvegarde LDAP échoue, Rollback la sauvegarde en base, sinon
         # Si la sauvegarde LDAP échoue, Rollback la sauvegarde en base, sinon
         # commit
         # 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
     @transaction.atomic
     def delete(self, *args, **kwargs):
     def delete(self, *args, **kwargs):
         # Supprime de la base de donnée (mais sans commit, cf decorator)
         # Supprime de la base de donnée (mais sans commit, cf decorator)
         super(CoinLdapSyncMixin, self).delete(*args, **kwargs)
         super(CoinLdapSyncMixin, self).delete(*args, **kwargs)
 
 
-        try:
-            self.delete_from_ldap()
-        except:
-            raise
+        if settings.LDAP_ACTIVATE:
+            try:
+                self.delete_from_ldap()
+            except:
+                raise

+ 3 - 0
coin/settings.py

@@ -230,6 +230,9 @@ TEST_RUNNER = 'django.test.runner.DiscoverRunner'
 
 
 GRAPHITE_SERVER = "http://graphite-dev.illyse.org"
 GRAPHITE_SERVER = "http://graphite-dev.illyse.org"
 
 
+# Do we use LDAP or not
+LDAP_ACTIVATE=True
+
 # LDAP Base DNs
 # LDAP Base DNs
 LDAP_USER_BASE_DN = "ou=users,ou=unix,o=ILLYSE,l=Villeurbanne,st=RHA,c=FR"
 LDAP_USER_BASE_DN = "ou=users,ou=unix,o=ILLYSE,l=Villeurbanne,st=RHA,c=FR"
 LDAP_GROUP_BASE_DN = "ou=groups,ou=unix,o=ILLYSE,l=Villeurbanne,st=RHA,c=FR"
 LDAP_GROUP_BASE_DN = "ou=groups,ou=unix,o=ILLYSE,l=Villeurbanne,st=RHA,c=FR"