[#3166 et #3301] rapport contrat colonnes
authorDavin Baragiotta <davin.baragiotta@auf.org>
Fri, 8 Jun 2012 15:23:48 +0000 (11:23 -0400)
committerDavin BARAGIOTTA <davin.baragiotta@auf.org>
Fri, 8 Jun 2012 15:23:48 +0000 (11:23 -0400)
project/rh/templates/rh/rapports/contrats.html
project/rh/templates/rh/rapports/employes_sans_contrat.html
project/rh/views.py

index 1b61199..e897205 100644 (file)
@@ -2,62 +2,69 @@
 {% load adminmedia rapports i18n change_list %}
 
 {% block extrastyle %}
-{{ block.super }}
-<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/css/admin_custom.css">
+  {{ block.super }}
+  <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/css/admin_custom.css">
 {% endblock %}
 
 {% block extrahead %}
-<script type="text/javascript" src="/admin/jsi18n"></script>
-<script type="text/javascript" src="{{ STATIC_URL }}/admin/js/core.js"></script>
-{{ block.super }}
+  <script type="text/javascript" src="/admin/jsi18n"></script>
+  <script type="text/javascript" src="{{ STATIC_URL }}/admin/js/core.js"></script>
+  {{ block.super }}
 {% endblock %}
 
-{% block nomrapport %}Rapport Contrats{% endblock %}
+{% block nomrapport %}
+  Rapport Contrats
+{% endblock %}
 
-{% block count_elements %}<h2>{{ count }} contrats pour {{ count_employe }} employés</h2>{% endblock %}
+{% block count_elements %}
+  <h2>{{ contrats.count }} contrats pour {{ count_employe }} employés</h2>
+{% endblock %}
 
 {% block contentrapport %}
-
 <div id="changelist-filter">
-<h2>{% trans 'Filter' %}</h2>
-{% filter_region_contrat %}
-{% filter_implantation_contrat %}
-{% filter_type_contrat %}
-{% filter_echeance_contrat %}
-{% filter_debut_contrat %}
-{% filter_a_venir %}
+  <h2>{% trans 'Filter' %}</h2>
+  
+  {% filter_region_contrat %}
+  {% filter_implantation_contrat %}
+  {% filter_type_contrat %}
+  {% filter_echeance_contrat %}
+  {% filter_debut_contrat %}
+  {% filter_a_venir %}
 </div>
 
-
 {% recherche_par_annees cl %}
 
 <table id="result_list" class="results">
-<thead>
-<tr>
-    {% table_header headers %}
-</tr>
-</thead>
-{% spaceless %}{% for contrat in contrats %}
-<tr class="{% cycle 'row1' 'row2' %}">
-    <td style="text-align:right"><a href="{% url employe_apercu contrat.dossier.employe.id %}">{{ contrat.dossier.employe.id }}</a></td>
-    <td><a href="{% url admin:rh_employe_change contrat.dossier.employe.id %}">
-            {{ contrat.dossier.employe.nom|upper }}
-            {{contrat.dossier.employe.prenom|title }}</a></td>
-    <td><a href="{% url admin:rh_poste_change contrat.dossier.poste.id %}">{{ contrat.dossier.poste.nom }}</a></td>
-    <td>{{ contrat.dossier.poste.implantation.region }}</td>
-    <td>{{ contrat.dossier.poste.implantation }}</td>
+  <thead>
+    <tr>{% table_header headers %}</tr>
+  </thead>
+  {% spaceless %}
+  {% for contrat in contrats %}
+  <tr class="{% cycle 'row1' 'row2' %}">
+    <td style="text-align:right">
+        {{ contrat.dossier.employe.id }}
+    </td>
+    <td>{{ contrat.dossier.employe.nom|upper }} {{ contrat.dossier.employe.prenom|title }}</td>
     <td>
-        {% if contrat.fichier %}
-        <a href="{{ contrat.fichier.url }}">{{ contrat.type_contrat.nom }}</a>
-        {% else %}
-            {{ contrat.type_contrat.nom }}
-        {% endif %}
+      <a href="{% url admin:rh_dossier_change contrat.dossier.id %}">
+        Dossier
+      </a> 
+      : {{ contrat.dossier.poste.nom }}
+    </td>
+    <td>
+    {% if contrat.fichier %}
+      <a href="{{ contrat.fichier.url }}">{{ contrat.type_contrat.nom }}</a>
+    {% else %}
+      {{ contrat.type_contrat.nom }}
+    {% endif %}
     </td>
-    <td>{{ contrat.dossier.get_statut_residence_display }}</td>
     <td>{{ contrat.date_debut }}</td>
     <td>{{ contrat.date_fin|default:'' }}</td>
-</tr>
-{% endfor %}{% endspaceless %}
+    <td>{{ contrat.dossier.get_statut_residence_display }}</td>
+    <td>{{ contrat.dossier.poste.implantation.region.nom }}</td>
+    <td>{{ contrat.dossier.poste.implantation.nom }}</td>
+  </tr>
+  {% endfor %}
+  {% endspaceless %}
 </table>
-
 {% endblock %}
index 43aae60..c1b9bbb 100644 (file)
@@ -28,7 +28,7 @@
   {% spaceless %}
     {% for e in employes %}
     <tr class="{% cycle 'row1' 'row2' %}">
-      <td>{{ e.id }}</td>
+      <td style="text-align:right">{{ e.id }}</td>
       <td>{{ e.nom|upper }} {{ e.prenom }}</td>
       <td>
         {% for d in e.rh_dossiers.all %}
index fed110b..eb9bde6 100644 (file)
@@ -75,6 +75,7 @@ def employe(request, id):
 @login_required
 @drh_or_admin_required
 def rapports_contrat(request):
+    # statut default = actif?
     if 'HTTP_REFERER' in request.META.keys():
         referer = request.META['HTTP_REFERER']
         referer = "/".join(referer.split('/')[3:])
@@ -84,48 +85,51 @@ def rapports_contrat(request):
             params.update({'statut': 'Actif'})
             request.GET = params
 
-    lookup_params = get_lookup_params(request)
-
     contrats = rh.Contrat.objects.select_related(
         'dossier', 'dossier__poste', 'dossier__poste__implantation',
         'type_contrat', 'dossier__employe'
     )
 
+    # filters et recherche temporelle
     cl = RechercheTemporelle(dict(request.GET.items()), rh.Contrat)
+    lookup_params = get_lookup_params(request)
     lookup_params = cl.purge_params(lookup_params)
     q_temporel = cl.get_q_temporel(contrats)
     q = Q(**lookup_params) & q_temporel
     contrats = contrats.filter(q).exclude(dossier__employe__supprime=1)
 
+    # tri
     if 'o' in request.GET:
         contrats = contrats.order_by(
             ('-' if request.GET.get('ot') == "desc" else '') + request.GET['o']
         )
 
+    # affichage
     employes = set([c.dossier.employe_id for c in contrats])
 
     headers = [
-        ("dossier__employe__id", u"# de l'employé"),
+        ("dossier__employe__id", u"#"),
         ("dossier__employe__nom", u"Employé"),
-        ("dossier__poste__nom", u"Poste"),
+        ("dossier", u"Dossier : Poste"),
+        ("type_contrat__nom", u"Contrat"),
+        ("date_debut", u"Début contrat"),
+        ("date_fin", u"Fin contrat"),
+        ("dossier__statut_residence", u"Statut"),
         ("dossier__poste__implantation__region", u"Région"),
         ("dossier__poste__implantation", u"Implantation"),
-        ("type_contrat__nom", u"Type de contrat"),
-        ("dossier__statut_residence", u"Statut de résidence"),
-        ("date_debut", u"Date début"),
-        ("date_fin", u"Date fin"),
     ]
-    h = SortHeaders(request, headers, order_field_type="ot", order_field="o")
+    h = SortHeaders(
+        request, headers, order_field_type="ot", order_field="o",
+        not_sortable=('dossier',)
+    )
 
     c = {
         'cl': cl,
         'title': 'Rapport des contrats',
         'contrats': contrats,
-        'count': len(contrats),
         'count_employe': len(employes),
         'headers': list(h.headers()),
     }
-
     return render(request, 'rh/rapports/contrats.html', c)
 
 
@@ -260,7 +264,9 @@ def rapports_employes_sans_contrat(request):
         )
     
     # employés sans contrat
-    employes = rh.Employe.objects.filter(rh_dossiers__in=dossiers_sans_contrat).distinct()
+    employes = rh.Employe.objects.filter(
+            rh_dossiers__in=dossiers_sans_contrat
+        ).distinct()
     if 'o' in request.GET:
         employes = employes.order_by(
             ('-' if request.GET.get('ot') == "desc" else '') + request.GET['o']
@@ -268,11 +274,11 @@ def rapports_employes_sans_contrat(request):
 
     # affichage
     headers = [
-        ("id", u"# de l'employé"),
+        ("id", u"#"),
         ("nom", u"Employé"),
         ("dossier", u"Dossier : Poste"),
-        ("dossier_date_debut", u"Début occupation poste"),
-        ("dossier_date_fin", u"Fin occupation poste"),
+        ("dossier_date_debut", u"Début dossier"),
+        ("dossier_date_fin", u"Fin dossier"),
     ]
     h = SortHeaders(
         request, headers, order_field_type="ot", order_field="o",