Rapport Dossier: fusion des colonnes de l'employée
authorJean-Philippe Caissy <jean-philippe.caissy@auf.org>
Thu, 2 Feb 2012 22:44:58 +0000 (16:44 -0600)
committerJean-Philippe Caissy <jean-philippe.caissy@auf.org>
Thu, 2 Feb 2012 22:44:58 +0000 (16:44 -0600)
project/rh/templates/rh/rapports/postes.html
project/rh/views.py

index c2f21e5..ec5ab19 100644 (file)
     <td><a href="{% url admin:rh_poste_change poste.id %}">{{ poste.nom|upper }}</a></td>
     <td>{{ poste.implantation }}</td>
     <td>
-        {% if poste.employe_id %}
-        <ul>
-            {% for e in poste.employe_id|split:'|' %}
-            <li><a href="{% url admin:rh_employe_change e %}">{{ e }}</a></li>
-            {% endfor %}
-        </ul>
+        {% if poste.employes %}
+            {% if poste.employes|length > 1 %}
+                <ul>
+                    {% for e in poste.employes %}
+                        <li><a href="{% url admin:rh_employe_change e.id %}">[{{ e.id }}] {{ e.nom|upper }} {{ e.prenom }}</a></li>
+                    {% endfor %}
+                </ul>
+            {% else %}
+                {% for e in poste.employes %}
+                    <a href="{% url admin:rh_employe_change e.id %}">[{{ e.id }}] {{ e.nom|upper }} {{ e.prenom }}</a>
+                {% endfor %}
+            {% endif %}
         {% else %}
         Vacant
         {% endif %}
     </td>
-    <td>
-        {% if poste.employe_nom %}
-        <ul>
-            {% for e in poste.employe_nom|split:'|' %}
-            <li>{{ e }}</li>
-            {% endfor %}
-        </ul>
-        {% endif %}
-    </td>
-
-    <td>
-        {% if poste.employe_prenom %}
-        <ul>
-            {% for e in poste.employe_prenom|split:'|' %}
-            <li>{{ e }}</li>
-            {% endfor %}
-        </ul>
-        {% endif %}
-    </td>
 </tr>
 {% endfor %}{% endspaceless %}
 </table>
index 6b56462..7aa4c61 100644 (file)
@@ -1,5 +1,6 @@
 # -*- encoding: utf-8 -*-
 from datetime import date
+from itertools import izip
 
 from django.db.models import Q
 from django.contrib.auth.decorators import login_required
@@ -132,19 +133,26 @@ def rapports_poste(request):
     if 'o' in request.GET:
         postes = postes.order_by("%s%s" % ('-' if 'ot' in request.GET and request.GET['ot'] == "desc" else '', request.GET['o']))
 
+    out = []
+    for p in postes:
+        out.append({
+            'id': p.id,
+            'nom': p.nom,
+            'implantation': p.implantation,
+            'employes': [] if not p.employe_id else [{'id': id, 'nom': nom, 'prenom': prenom} for id, nom, prenom in izip(p.employe_id.split('|'), p.employe_nom.split('|'), p.employe_prenom.split('|'))] })
+
+
     headers = [
         ("id", u"# du poste"),
         ("nom", u"Nom du poste"),
         ("implantation__id", u"Implantation"),
-        ("employe_id", u"# de l'employé"),
         ("employe_nom", u"Nom"),
-        ("employe_prenom", u"Prénom"),
     ]
     h = SortHeaders(request, headers, order_field_type="ot", order_field="o")
     c = {
         'title': 'Rapport des postes',
-        'postes': postes,
-        'count': len(postes),
+        'postes': out,
+        'count': len(out),
         'headers': list(h.headers()),
     }