POC Campus Condorcet : l'etablissement d'un membre que se declare doit etre dans le LDAP
This commit is contained in:
parent
0d38acd7fa
commit
9162692356
|
@ -4,7 +4,7 @@ from django.core.urlresolvers import reverse
|
|||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from .utils import ldap_contains_user, saml_collect_data, \
|
||||
ldap_get_affectations, render_message
|
||||
ldap_get_affectations, render_message, ldap_get_code_etablissements
|
||||
|
||||
from .views import MSG_USERNONE
|
||||
|
||||
|
@ -63,14 +63,12 @@ def user_can_declare(function):
|
|||
if ldap_contains_user(user_data):
|
||||
return render_message(request, MSG_USER_REGISTERED)
|
||||
|
||||
affectations = [code for code, _ in ldap_get_affectations()]
|
||||
etablissements = [code for code, _ in ldap_get_code_etablissements()]
|
||||
try:
|
||||
affectations.remove(None) # remove extra null entry
|
||||
etablissements.remove(None) # remove extra null entry
|
||||
except:
|
||||
pass
|
||||
user_affectations = set([user_data.get('s_etablissement'),
|
||||
user_data.get('s_entite_affectation')])
|
||||
if user_affectations & set(affectations):
|
||||
if user_data.get('s_etablissement') in etablissements:
|
||||
return function(request, *args, **kwargs)
|
||||
return render_message(request, MSG_STRUCT_NOT_IN_CAMPUS)
|
||||
return wrapped
|
||||
|
|
|
@ -83,6 +83,9 @@ def ldap_get_etablissements():
|
|||
return ldap_get_attribute_from_subtree_nodes(
|
||||
structures_base, '(objectClass=supannOrg)', 'ou')
|
||||
|
||||
def ldap_get_code_etablissements():
|
||||
return ldap_get_attribute_from_subtree_nodes(
|
||||
structures_base, '(objectClass=supannOrg)', 'supannEtablissement')
|
||||
|
||||
def ldap_get_unites():
|
||||
"""Used to fill the choices in hote_unite form ChoiceField."""
|
||||
|
|
Reference in New Issue