<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>
# -*- 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
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()),
}