From: Olivier Larchevêque Date: Thu, 3 May 2012 13:30:34 +0000 (-0400) Subject: prepopule users X-Git-Url: https://git.auf.org/?p=auf_django_saml.git;a=commitdiff_plain;h=50992337a1edd08c8164775d0af5bc94aeafa0e7 prepopule users --- diff --git a/CHANGES b/CHANGES index e78812f..51faafb 100644 --- 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 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 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 index 0000000..a36e24a --- /dev/null +++ b/auf/django/saml/management/commands/employes.py @@ -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) diff --git a/auf/django/saml/middleware.py b/auf/django/saml/middleware.py index 89ee0aa..550565b 100644 --- a/auf/django/saml/middleware.py +++ b/auf/django/saml/middleware.py @@ -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) diff --git a/setup.py b/setup.py index 767e741..96fd435 100644 --- 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,