fix acces pour region
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 25 Jul 2012 19:12:54 +0000 (15:12 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 25 Jul 2012 19:12:54 +0000 (15:12 -0400)
project/dae/decorators.py

index d24dc32..04f05cb 100644 (file)
@@ -185,10 +185,13 @@ def get_contrat(fn):
         contrat = get_object_or_404(dae.Contrat, pk=contrat_id)
         dossier = contrat.dossier
         user_groupes = [g.name for g in request.user.groups.all()]
+        dossier_de_ma_region =\
+            len(dae.Dossier.objects.ma_region_ou_service(request.user).filter(id=dossier.id)) == 1
+
         if not (dossier.etat in ETATS_VALIDE and
-                (groups.DRH_NIVEAU_1 in user_groupes or groups.DRH_NIVEAU_2 in user_groupes or
-                 dossier in dae.Dossier.objects \
-                 .mes_choses_a_faire(request.user).all())):
+                (groups.DRH_NIVEAU_1 in user_groupes or
+                    groups.DRH_NIVEAU_2 in user_groupes or
+                    dossier_de_ma_region)):
             return redirect_interdiction(request)
         return fn(request, contrat, *args, **kwargs)
     return inner