[#3312] Limiter l'import DAE à DRH et superuser.
authorEric Mc Sween <eric.mcsween@auf.org>
Fri, 8 Jun 2012 14:09:58 +0000 (10:09 -0400)
committerEric Mc Sween <eric.mcsween@auf.org>
Fri, 8 Jun 2012 14:16:11 +0000 (10:16 -0400)
project/dae/templates/dae/embauche_consulter.html
project/dae/templates/dae/embauches_finalisees.html
project/dae/templates/dae/poste_consulter.html
project/dae/views.py

index 2dc4e2f..10b2b16 100644 (file)
@@ -16,7 +16,7 @@
 {% if dossier|est_editable:request.user %}
 <a class="droite bouton-action" href="{% url embauche dossier.poste.key dossier.id %}">Modifier</a>
 {% endif %}
-{% if perms.rh.change_dossier and not dossier.dossier_rh %}
+{% if importer and not dossier.dossier_rh %}
 <a class="droite bouton-action" href="{% url embauche_importer dossier.id %}">Importer</a>
 {% endif %}
 <div class="visualClear"></div>
index 9ed6f0b..c865abe 100644 (file)
@@ -37,7 +37,9 @@
         {% sort_header "personne" "Personne" %}
         {% sort_header "debut_contrat" "Début du contrat" %}
         {% sort_header "fin_contrat" "Fin du contrat" %}
+        {% if importer %}
         <th></th>
+        {% endif %}
       </tr>
     </thead>
     <tbody>
         <td><a href="{% url embauche_consulter dossier.id %}">{{ dossier.employe }}</a></td>
         <td>{{ dossier.contrat_date_debut|date:"d-m-Y" }}</td>
         <td>{{ dossier.contrat_date_fin|date:"d-m-Y" }}</td>
+        {% if importer %}
         <td>
           {% if not dossier.dossier_rh %}
             <a href="{% url embauche_importer dossier.id %}">Importer</a></td>
           {% endif %}
         </td>
+        {% endif %}
       </tr>
       {% endfor %}
     </tbody>
index f698560..189f0e3 100644 (file)
@@ -17,7 +17,7 @@
 {% if poste|est_editable:request.user %}
 <a class="droite bouton-action" href="{% url poste poste.key %}">Modifier</a>
 {% endif %}
-{% if not poste.id_rh and perms.rh.change_poste and perms.rh.add_poste %}
+{% if not poste.id_rh and importer %}
 <a class="droite bouton-action" href="{% url poste_importer poste.id %}">Importer</a>
 {% endif %}
 <div class="visualClear"></div>
index e5e456c..4484603 100644 (file)
@@ -36,7 +36,8 @@ from project.dae.mail import send_drh_finalisation_mail
 from project.dae.workflow import \
         DOSSIER_ETAT_FINALISE, DOSSIER_ETAT_REGION_FINALISATION, \
         DOSSIER_ETAT_DRH_FINALISATION, POSTE_ETAT_FINALISE
-from project.decorators import redirect_interdiction
+from project.decorators import \
+        redirect_interdiction, drh_or_admin_required, in_drh_or_admin
 from project.rh import models as rh
 
 
@@ -83,15 +84,16 @@ def poste_consulter(request, key):
 
     comparaisons_internes = \
             poste.dae_comparaisons_internes.ma_region_ou_service(request.user)
-    vars = {
+    return render(request, 'dae/poste_consulter.html', {
         'poste': poste,
         'validationForm': validationForm,
-        'comparaisons_internes': comparaisons_internes
-    }
+        'comparaisons_internes': comparaisons_internes,
+        'importer': in_drh_or_admin(request.user)
+    })
 
-    return render(request, 'dae/poste_consulter.html', vars)
 
 
+@drh_or_admin_required
 def poste_importer(request, id):
     poste_dae = get_object_or_404(dae.Poste, id=id)
     if request.method == 'POST':
@@ -282,17 +284,16 @@ def embauche_consulter(request, dossier_id):
                 request.user
             )
     comparaisons = dossier.dae_comparaisons.ma_region_ou_service(request.user)
-    vars = {
+    return render(request, 'dae/embauche_consulter.html', {
         'dossier': dossier,
         'validationForm': validationForm,
         'comparaisons_internes': comparaisons_internes,
-        'comparaisons': comparaisons
-    }
-    return render(request, 'dae/embauche_consulter.html', vars)
+        'comparaisons': comparaisons,
+        'importer': in_drh_or_admin(request.user)
+    })
 
 
-@dae_groupe_requis
-@dossier_dans_ma_region_ou_service
+@drh_or_admin_required
 def embauche_importer(request, dossier_id=None):
     dossier_dae = get_object_or_404(dae.Dossier, id=dossier_id)
     if request.method == 'POST':
@@ -547,11 +548,11 @@ def embauches_finalisees(request):
     except InvalidPage:
         page = paginator.page(1)
 
-    c = {
+    return render(request, 'dae/embauches_finalisees.html', {
         'embauches': page,
         'search_form': search_form,
-    }
-    return render(request, 'dae/embauches_finalisees.html', c)
+        'importer': in_drh_or_admin(request.user)
+    })
 
 
 def employe(request, key):