[#2446] Colonne "Dernière validation"
authorEric Mc Sween <eric.mcsween@auf.org>
Mon, 12 Dec 2011 20:04:41 +0000 (15:04 -0500)
committerEric Mc Sween <eric.mcsween@auf.org>
Mon, 12 Dec 2011 20:04:41 +0000 (15:04 -0500)
project/dae/templates/dae/embauche-header.html
project/dae/templates/dae/embauche-row.html
project/dae/templates/dae/embauches_liste.html
project/dae/templates/dae/poste-header.html
project/dae/templates/dae/poste-row.html
project/dae/templates/dae/postes_liste.html
project/dae/views.py

index 88de33a..aee9642 100644 (file)
@@ -3,6 +3,7 @@
     <th>Implantation</th>
     <th>Embauche</th>
     <th>Personne</th>
-    <th>Date</th>
+    <th>Date de création</th>
+    <th>Dernière validation</th>
     <th>État</th>
 </tr>
index 086333f..dc4584b 100644 (file)
@@ -5,5 +5,6 @@
     <td><a href="{% url embauche_consulter dossier.id %}">{{ dossier.poste.nom }}</a></td>
     <td>{{ dossier.employe }}</td>
     <td>{{ dossier.date_creation|date:"d-m-Y" }}</td>
+    <td>{{ dossier.derniere_validation|date:"d-m-Y" }}</td>
     <td>{{ dossier.get_etat_display }}</td>
 </tr>
index 348098c..e7fe089 100644 (file)
@@ -2,19 +2,20 @@
 
 {% block extrahead %}
     <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/tablesorter.css" media="screen"/>
-    <script type="text/javascript" src="{{ MEDIA_URL }}js/jquery-1.5.1.min.js"></script> 
-    <script type="text/javascript" src="{{ MEDIA_URL }}js/jquery.tablesorter.min.js"></script> 
+    <script type="text/javascript" src="{{ MEDIA_URL }}js/jquery-1.5.1.min.js"></script>
+    <script type="text/javascript" src="{{ MEDIA_URL }}js/jquery.tablesorter.min.js"></script>
     <script>
-        $(document).ready(function() { 
+        $(document).ready(function() {
             $(".tablesorter").tablesorter({
                 dateFormat: 'uk',
                 headers: {
                     4: {sorter: "shortDate"},
+                    5: {sorter: "shortDate"}
                 }
             }
-            ); 
+            );
         });
-    </script> 
+    </script>
 {% endblock %}
 
 {% block title %}RH - DAE - Embauches{% endblock %}
index 2ac8467..9f4e158 100644 (file)
@@ -2,7 +2,8 @@
     <th>Région</th>
     <th>Implantation</th>
     <th>Poste</th>
-    <th>Date</th>
+    <th>Date de création</th>
+    <th>Dernière validation</th>
     <th>Dossiers</th>
     <th>Service</th>
     <th>État</th>
index 326653e..72a0917 100644 (file)
@@ -4,6 +4,7 @@
     <td>{{ poste.implantation }}</td>
     <td><a href="{% url poste_consulter poste.key %}">{{ poste.nom }}</a></td>
     <td>{{ poste.date_creation|date:"d-m-Y" }}</td>
+    <td>{{ poste.derniere_validation|date:"d-m-Y" }}</td>
     <td>
         <ul>
         {% for dossier in poste.dossiers.all %}
index 000619f..bd0a8dc 100644 (file)
@@ -10,6 +10,7 @@
                 dateFormat: 'uk',
                 headers: {
                     3: {sorter: "shortDate"},
+                    4: {sorter: "shortDate"}
                 }
             }
             );
index b2d3af8..959c6df 100644 (file)
@@ -18,6 +18,7 @@ from django.template.loader import get_template
 from django.contrib import messages
 from django.conf import settings
 from django.contrib.auth.decorators import login_required
+from django.contrib.contenttypes.models import ContentType
 
 from reversion.models import Version
 
@@ -179,12 +180,19 @@ def poste(request, key=None):
 @dae_groupe_requis
 def postes_liste(request):
     """ Liste des postes. """
-    vars = dict()
-
-    vars['postes_a_traiter'] = dae.Poste.objects.mes_choses_a_faire(request.user).all().order_by('-date_creation')
-    vars['postes_en_cours'] = dae.Poste.objects.ma_region_ou_service(request.user).filter(~Q(etat=POSTE_ETAT_FINALISE)).order_by('-date_creation')
-
-    return render_to_response('dae/postes_liste.html', vars, RequestContext(request))
+    content_type = ContentType.objects.get_for_model(dae.Poste)
+    extra_select = {'derniere_validation': (
+        "SELECT MAX(date) FROM workflow_workflowcommentaire "
+        "WHERE content_type_id = '%s' AND object_id = dae_poste.id" % content_type.id
+    )}
+    postes_a_traiter = dae.Poste.objects.mes_choses_a_faire(request.user) \
+            .extra(select=extra_select).order_by('-date_creation')
+    postes_en_cours = dae.Poste.objects.ma_region_ou_service(request.user) \
+            .extra(select=extra_select).filter(~Q(etat=POSTE_ETAT_FINALISE)).order_by('-date_creation')
+    return render_to_response('dae/postes_liste.html', {
+        'postes_a_traiter': postes_a_traiter,
+        'postes_en_cours': postes_en_cours,
+    }, RequestContext(request))
 
 @login_required
 def poste_piece(request, id, filename):
@@ -356,10 +364,19 @@ def embauche(request, key=None, dossier_id=None):
 @dossier_dans_ma_region_ou_service
 def embauches_liste(request):
     """ Liste des embauches. """
-    vars = dict()
-    vars['embauches_a_traiter'] = dae.Dossier.objects.mes_choses_a_faire(request.user).all().order_by('-date_creation')
-    vars['embauches_en_cours'] = dae.Dossier.objects.ma_region_ou_service(request.user).order_by('-date_creation').exclude(etat=DOSSIER_ETAT_FINALISE)
-    return render_to_response('dae/embauches_liste.html', vars, RequestContext(request))
+    content_type = ContentType.objects.get_for_model(dae.Dossier)
+    extra_select = {'derniere_validation': (
+        "SELECT MAX(date) FROM workflow_workflowcommentaire "
+        "WHERE content_type_id = '%s' AND object_id = dae_dossier.id" % content_type.id
+    )}
+    embauches_a_traiter = dae.Dossier.objects.mes_choses_a_faire(request.user) \
+            .extra(select=extra_select).order_by('-date_creation')
+    embauches_en_cours = dae.Dossier.objects.ma_region_ou_service(request.user) \
+            .extra(select=extra_select).order_by('-date_creation').exclude(etat=DOSSIER_ETAT_FINALISE)
+    return render_to_response('dae/embauches_liste.html', {
+        'embauches_a_traiter': embauches_a_traiter,
+        'embauches_en_cours': embauches_en_cours,
+    }, RequestContext(request))
 
 @dae_groupe_requis
 def embauches_finalisees(request):