prepopule users
authorOlivier Larchevêque <olivier.larcheveque@gmail.com>
Thu, 3 May 2012 13:30:34 +0000 (09:30 -0400)
committerOlivier Larchevêque <olivier.larcheveque@gmail.com>
Thu, 3 May 2012 13:30:34 +0000 (09:30 -0400)
CHANGES
auf/django/saml/management/__init__.py [new file with mode: 0644]
auf/django/saml/management/commands/__init__.py [new file with mode: 0644]
auf/django/saml/management/commands/employes.py [new file with mode: 0644]
auf/django/saml/middleware.py
setup.py

diff --git a/CHANGES b/CHANGES
index e78812f..51faafb 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,10 @@
+1.2
+---
+
+* commande pour prépopuler les employés
+
+* fix configuration du user en mode SANDBOX
 1.1
 ---
 
diff --git a/auf/django/saml/management/__init__.py b/auf/django/saml/management/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/auf/django/saml/management/commands/__init__.py b/auf/django/saml/management/commands/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/auf/django/saml/management/commands/employes.py b/auf/django/saml/management/commands/employes.py
new file mode 100644 (file)
index 0000000..a36e24a
--- /dev/null
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+
+from django.core.management.base import BaseCommand, CommandError
+from django.contrib.auth.models import User
+from auf.django.references import models as ref
+
+
+class Command(BaseCommand):
+    """
+    Outils concernant les comptes relatifs aux employes
+    """
+    def handle(self, *args, **options):
+        if len(args) == 0:
+            self.stdout.write('Commandes:\n')
+            self.stdout.write('* import (ref_employes => django_user)\n')
+            return
+
+        if args[0] == 'import':
+            nb_employes = 0
+            for e in ref.Employe.objects.filter(actif=True):
+                username = e.courriel.replace('@auf.org', '')
+                django_user, created = \
+                    User.objects.get_or_create(username=username)
+                django_user.username = username
+                django_user.first_name = e.prenom
+                django_user.last_name = e.nom
+                django_user.email = e.courriel
+                django_user.save()
+                nb_employes += 1
+            self.stdout.write('%s employés ont été importés.\n' % nb_employes)
index 89ee0aa..550565b 100644 (file)
@@ -27,10 +27,11 @@ def configure_user(sender, request, user, *args, **kwargs):
     Au login, on synchronise les infos du serveur d'identités
     avec le user local
     """
-    meta = request.META
-    user.email = meta['MELLON_mail']
-    user.first_name = meta['MELLON_gn']
-    user.last_name = meta['MELLON_sn']
-    user.save()
+    if saml_settings.SAML_AUTH:
+        meta = request.META
+        user.email = meta['MELLON_mail']
+        user.first_name = meta['MELLON_gn']
+        user.last_name = meta['MELLON_sn']
+        user.save()
 
 user_logged_in.connect(configure_user)
index 767e741..96fd435 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,7 @@
 from setuptools import setup, find_packages
 
 name = 'auf.django.saml'
-version = '1.1'
+version = '1.2'
 
 setup(name=name,
       version=version,