Oublis
authorCyril Robert <Cyril Robert cyrilrbt@gmail.com>
Thu, 29 Jul 2010 17:19:05 +0000 (13:19 -0400)
committerCyril Robert <Cyril Robert cyrilrbt@gmail.com>
Thu, 29 Jul 2010 17:19:05 +0000 (13:19 -0400)
auf_references_client/decorators.py
auf_references_client/settings.py

index d3ef466..038c86f 100644 (file)
@@ -5,18 +5,30 @@ from django.http import HttpResponseForbidden
 from django.contrib.auth import logout
 from django.template.loader import get_template
 from django.template import Context
 from django.contrib.auth import logout
 from django.template.loader import get_template
 from django.template import Context
+from django.conf import settings
+
+from auf_references_modeles import Utilisateur, GroupesPersonne
+
+import sys, traceback
 
 def has_group(group = ""):
     def _dec(view_func):
         def _view(request, *args, **kwargs):
             allowed = False
 
 def has_group(group = ""):
     def _dec(view_func):
         def _view(request, *args, **kwargs):
             allowed = False
+            print getattr(settings, 'ROA_MODELS', False)
             if request.user.is_authenticated():
                 try:
             if request.user.is_authenticated():
                 try:
-                    p = personne(request.user)
-                    g = Groupe.objects.get(nom = group)
-                    if g in p.groupes:
-                        allowed = True
-                except: pass
+                    p = Utilisateur.objects.get(courriel = request.user.email)
+                    #g = Groupe.objects.get(nom = group)
+                    for g in GroupesPersonne.objects.filter(personne__pk = p.pk):
+                        if g.groupe.nom == group:
+                            allowed = True
+                            break
+                except:
+                    print "Exception in user code:"
+                    print '-'*60
+                    traceback.print_exc(file=sys.stdout)
+                    print '-'*60
             else:
                 allowed = True
     
             else:
                 allowed = True
     
index 9219d79..7cce278 100644 (file)
@@ -24,6 +24,8 @@ ROA_URL_OVERRIDES_LIST = {
     'auf_references_modeles.region': ROA_BASE_URL + 'region/',
     'auf_references_modeles.pays': ROA_BASE_URL + 'pays/',
     'auf_references_modeles.personne': ROA_BASE_URL + 'personne/',
     'auf_references_modeles.region': ROA_BASE_URL + 'region/',
     'auf_references_modeles.pays': ROA_BASE_URL + 'pays/',
     'auf_references_modeles.personne': ROA_BASE_URL + 'personne/',
+    'auf_references_modeles.groupe': ROA_BASE_URL + 'groupe/',
+    'auf_references_modeles.groupespersonne': ROA_BASE_URL + 'groupespersonne/',
     'auf_references_modeles.utilisateur': ROA_BASE_URL + 'utilisateur/',
     'auf_references_modeles.adresse': ROA_BASE_URL + 'adresse/',
     'auf_references_modeles.etablissement': ROA_BASE_URL + 'etablissement/',
     'auf_references_modeles.utilisateur': ROA_BASE_URL + 'utilisateur/',
     'auf_references_modeles.adresse': ROA_BASE_URL + 'adresse/',
     'auf_references_modeles.etablissement': ROA_BASE_URL + 'etablissement/',