fix #1594
[auf_rh_dae.git] / project / dae / decorators.py
index 9deacac..0e4b20b 100644 (file)
@@ -163,10 +163,10 @@ def dossier_est_modifiable(fn):
         dossier_id = kwargs.get('dossier_id', None)
         if dossier_id is not None:
             dossier = dae.Dossier.objects.get(id=dossier_id)
-            if dossier.etat not in ETATS_EDITABLE:
+            if grp_drh not in request.user.groups.all() and \
+               (dossier.etat not in ETATS_EDITABLE or dossier not in dae.Dossier.objects.mes_choses_a_faire(request.user).all()):
                 msg = u"Ce dossier d'embauche ne peut plus être modifié."
                 return redirect_interdiction(request, msg)
-
         return fn(request, *args, **kwargs)
     return inner
 
@@ -176,7 +176,8 @@ def poste_est_modifiable(fn):
         if key is not None and key.split('-')[0] == 'dae':
             poste_id = key.split('-')[1]
             poste = dae.Poste.objects.get(id=poste_id)
-            if poste.etat not in ETATS_EDITABLE:
+            if grp_drh not in request.user.groups.all() and \
+               (poste.etat not in ETATS_EDITABLE or poste not in dae.Poste.objects.mes_choses_a_faire(request.user).all()):
                 msg = u"Ce poste ne peut plus être modifié."
                 return redirect_interdiction(request, msg)