fix #1562, ajout des services dans les listes, fix liste mes embauches a traiter
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 27 May 2011 15:51:32 +0000 (11:51 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 27 May 2011 15:51:32 +0000 (11:51 -0400)
project/dae/managers.py
project/dae/templates/dae/embauches_liste.html
project/dae/templates/dae/postes_liste.html
project/dae/views.py

index c973ecd..6eabf34 100644 (file)
@@ -22,6 +22,7 @@ from workflow import dae_groupes, \
 
 class SecurityManager(models.Manager):
 
+    prefixe_service = None
     prefixe_implantation = None
 
     def mes_choses_a_faire(self, user):
@@ -59,13 +60,12 @@ class SecurityManager(models.Manager):
         ############################################
         # TRAITEMENT NORMAL
         ############################################        
-
         # SERVICE
-        if is_user_dans_service(user):
-            q = Q(**{ '%s' % self.prefixe_implantation : employe.implantation })
+        if workflowed_model and grp_service_utilisateurs in user.groups.all():
+            q = Q(**{ self.prefixe_service : employe.service})
         # REGION
         else:
-            q = Q(**{ '%s__region' % self.prefixe_implantation : employe.implantation.region })
+            q = Q(**{ self.prefixe_implantation : employe.implantation.region })
 
         if workflowed_model:
             q_non_refuse = ~Q(etat__in=(POSTE_ETAT_REFUSE, DOSSIER_ETAT_REFUSE,))
@@ -73,6 +73,7 @@ class SecurityManager(models.Manager):
 
         liste = self.get_query_set().filter(q)
 
+
         ############################################
         # TRAITEMENT POLE FINANCIER
         ############################################        
@@ -98,7 +99,8 @@ class PosteManager(SecurityManager):
     """
     Chargement de tous les objets FK existants sur chaque QuerySet.
     """
-    prefixe_implantation = "implantation"
+    prefixe_service = "service"
+    prefixe_implantation = "implantation__region"
 
     def ma_region_ou_service(self, user):
         return super(PosteManager, self).ma_region_ou_service(user).filter(actif=True)
@@ -120,7 +122,8 @@ class PosteManager(SecurityManager):
 
 
 class DossierManager(SecurityManager):
-    prefixe_implantation = "poste__implantation"
+    prefixe_service = "poste__service"
+    prefixe_implantation = "poste__implantation__region"
 
     def ma_region_ou_service(self, user):
         return super(DossierManager, self).ma_region_ou_service(user).filter(poste__actif=True)
index 2708201..55c7ad3 100644 (file)
 <table>
     <tr>
         <th>Embauche</th>
+        <th>Service</th>
         <th>Région</th>
         <th>État</th>
     </tr>
 {% for dossier in embauches_a_traiter %}
     <tr>
         <td><a href="{% url embauche_consulter dossier.id %}">{{ dossier }}</a></td>
+        <td>{{ dossier.poste.service }}</td>
         <td>{{ dossier.poste.implantation.region }}</td>
         <td>{{ dossier.get_etat_display }}</td>
     </tr>
 <table>
     <tr>
         <th>Embauche</th>
+        <th>Service</th>
         <th>Région</th>
         <th>État</th>
     </tr>
 {% for dossier in embauches_en_cours %}
     <tr>
         <td><a href="{% url embauche_consulter dossier.id %}">{{ dossier }}</a></td>
+        <td>{{ dossier.poste.service }}</td>
         <td>{{ dossier.poste.implantation.region }}</td>
         <td>{{ dossier.get_etat_display }}</td>
     </tr>
 <table>
     <tr>
         <th>Embauche</th>
+        <th>Service</th>
         <th>Région</th>
         <th>État</th>
     </tr>
 {% for dossier in embauches_non_retenues %}
     <tr>
         <td><a href="{% url embauche_consulter dossier.id %}">{{ dossier }}</a></td>
+        <td>{{ dossier.poste.service }}</td>
         <td>{{ dossier.poste.implantation.region }}</td>
         <td>{{ dossier.get_etat_display }}</td>
     </tr>
index b86a3e7..9b250e2 100644 (file)
@@ -5,19 +5,21 @@
 {% block sous_titre %}Demande d'autorisation d'engagement{% endblock %}
 
 {% block main %}
-<h1>Liste des demandes d'autorisation de création de poste</h1>
+<h1>Liste des demandes d'autorisation de poste</h1>
 
 <h2>Mes postes à traiter</h2>
 {% if postes_a_traiter %}
 <table>
     <tr>
         <th>Poste</th>
+        <th>Service</th>
         <th>Région</th>
         <th>État</th>
     </tr>
 {% for poste in postes_a_traiter %}
     <tr>
         <td><a href="{% url poste_consulter poste.key %}">{{ poste }}</a></td>
+        <td>{{ poste.service }}</td>
         <td>{{ poste.implantation.region }}</td>
         <td>{{ poste.get_etat_display }}</td>
     </tr>
 <table>
     <tr>
         <th>Poste</th>
+        <th>Service</th>
         <th>Région</th>
         <th>État</th>
     </tr>
 {% for poste in postes_vacants %}
     <tr>
         <td><a href="{% url poste_consulter poste.key %}">{{ poste }}</a></td>
+        <td>{{ poste.service }}</td>
         <td>{{ poste.implantation.region }}</td>
         <td>{{ poste.get_etat_display }}</td>
     </tr>
 <table>
     <tr>
         <th>Poste</th>
+        <th>Service</th>
         <th>Région</th>
         <th>État</th>
     </tr>
 {% for poste in postes_pourvus %}
     <tr>
         <td><a href="{% url poste_consulter poste.key %}">{{ poste }}</a></td>
+        <td>{{ poste.service }}</td>
         <td>{{ poste.implantation.region }}</td>
         <td>{{ poste.get_etat_display }}</td>
     </tr>
index fdb3cf4..781d537 100644 (file)
@@ -339,7 +339,7 @@ def embauche(request, key=None, dossier_id=None):
 def embauches_liste(request):
     """ Liste des embauches. """
     vars = dict()
-    vars['embauches_a_traiter'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(poste__pourvu=False).order_by('-date_creation')
+    vars['embauches_a_traiter'] = dae.Dossier.objects.mes_choses_a_faire(request.user).filter(poste__pourvu=False).order_by('-date_creation')
     vars['embauches_en_cours'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(poste__pourvu=False).order_by('-date_creation')
     vars['embauches_non_retenues'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(poste__pourvu=True).order_by('-date_creation')
     return render_to_response('dae/embauches_liste.html', vars, RequestContext(request))