Merge branch 'dev' of ssh://git.auf/auf_rh_dae into dev
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 3 Feb 2012 20:37:48 +0000 (15:37 -0500)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 3 Feb 2012 20:37:48 +0000 (15:37 -0500)
15 files changed:
project/rh/admin.py
project/rh/models.py
project/rh/templates/admin/rh/dossier/apercu.html
project/rh/templates/admin/rh/employe/apercu.html
project/rh/templates/admin/rh/poste/apercu.html
project/rh/templates/rh/include/commentaires.html
project/rh/templates/rh/include/dossier.html
project/rh/templates/rh/include/employe.html
project/rh/templates/rh/include/imprimer.html
project/rh/templates/rh/include/pieces.html
project/rh/templates/rh/include/poste.html
project/rh/templates/rh/include/remunerations.html [new file with mode: 0644]
project/rh/templates/rh/rapports/postes.html
project/rh/templatetags/rapports.py
project/rh/views.py

index 909ca30..c0e8c07 100644 (file)
@@ -353,6 +353,7 @@ class DossierAdmin(AUFMetadataAdminMixin, ProtectRegionMixin, admin.ModelAdmin,
         for instance in instances:
             if instance.__class__ == rh.DossierCommentaire:
                 instance.owner = request.user
+                instance.date_creation = datetime.datetime.now()
             instance.save()
 
 
@@ -436,6 +437,7 @@ class EmployeAdmin(AUFMetadataAdminMixin, ProtectRegionMixin, admin.ModelAdmin):
         for instance in instances:
             if instance.__class__ == rh.EmployeCommentaire:
                 instance.owner = request.user
+                instance.date_creation = datetime.datetime.now()
             instance.save()
 
 
@@ -593,6 +595,7 @@ class PosteAdmin(AUFMetadataAdminMixin, ProtectRegionMixin, admin.ModelAdmin, Aj
         for instance in instances:
             if instance.__class__ == rh.PosteCommentaire:
                 instance.owner = request.user
+                instance.date_creation = datetime.datetime.now()
             instance.save()
         formset.save_m2m()
 
index 6457aa5..2f9510d 100644 (file)
@@ -249,6 +249,9 @@ class PosteFinancement_(models.Model):
     def __unicode__(self):
         return u'%s : %s %%' % (self.type, self.pourcentage)
 
+    def choix(self):
+        return u"%s" % dict(POSTE_FINANCEMENT_CHOICES)[self.type]
+
 
 class PosteFinancement(PosteFinancement_):
     pass
@@ -624,6 +627,9 @@ class Dossier_(AUFMetadata):
     def remunerations(self):
         return self.rh_remunerations.all().order_by('date_debut')
 
+    def remunerations_en_cours(self):
+        return self.rh_remunerations.all().filter(date_fin__exact=None).order_by('date_debut')
+
     def get_salaire(self):
         try:
             return [r for r in self.remunerations().order_by('-date_debut') if r.type_id == 1][0]
index dac1d6a..a4a0621 100644 (file)
@@ -1,4 +1,5 @@
 {% extends 'admin/change_form.html' %}
+
 {% load i18n admin_modify adminmedia %}
 
 {% block breadcrumbs %}{% if not is_popup %}
index e1b4c5c..46c3d9d 100644 (file)
 {% endif %}{% endblock %}
 
 {% block content %}
-<h2>{{ employe }}</h2>
+<h1>Fiche employé</h1>
 {% include "rh/include/imprimer.html" %}
 
 {% include "rh/include/employe.html" %}
-
+<hr style="margin-top:20px" />
 {% for dossier in dossiers %}
         {% include "rh/include/dossier.html" %}
         <hr />
index b8aec4d..0eff9bc 100644 (file)
@@ -11,7 +11,8 @@
 {% endif %}{% endblock %}
 
 {% block content %}
-<h2>Aperçu du poste {{ poste }}</h2>
+<h1>Fiche de poste</h1>
+<h2> {{ poste.nom }} - {{ poste.implantation.nom }}</h2>
 {% include "rh/include/imprimer.html" %}
 
 {% include "rh/include/poste.html" %}
index 62ca5d0..b76c779 100644 (file)
@@ -1,20 +1,27 @@
 {% if commentaires|length > 0  %}
-<h3>Commentaires</h3>
-<table>
-  <thead>
-    <tr>
-      <th>Commentaire</th>
-      <th>Auteur</th>
-    </tr>
-  </thead>
-  <tbody>
-    {% for c in commentaires %}
-    <tr>
-      <td>{{ c.texte }}</td>
-      <td>{{ c.owner }}</td>
-    </tr>
-    {% endfor %}
-  </tbody>
-</table>
+<div>
+  <h3>Commentaires</h3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <table>
+    <thead>
+      <tr>
+        <th>Commentaire</th>
+        <th>Auteur</th>
+        <th>Date</th>
+      </tr>
+    </thead>
+    <tbody>
+      {% for c in commentaires %}
+      <tr>
+        <td>{{ c.texte }}</td>
+        <td>{{ c.owner }}</td>
+        <td>{{ c.date_creation|default:"" }}</td>
+      </tr>
+      {% endfor %}
+    </tbody>
+  </table>
+</div>
 {% endif %}
 
index dcae524..3475e27 100644 (file)
@@ -3,6 +3,8 @@
 <h3>Implantation</h3>
 {{ dossier.poste.implantation }}
 
+{% include "rh/include/remunerations.html" with remunerations=dossier.remunerations_en_cours %}
+
 <h3>Durée et régime</h3>
 <table>
     <tr><th>Date début d'occupation</th><td>{{ dossier.date_debut }}</td></tr>
     {% endif %}
 </table>
 
-
-<h3>Rémunérations</h3>
-<table>
-    <tr>
-        <th>Type</th>
-        <th>Nature</th>
-        <th>Montant (devise)</th>
-        <th>Commentaire</th>
-        <th>Date début</th>
-        <th>Date fin</th>
-    </tr>
-    {% for r in dossier.remunerations %}
-    <tr>
-        <th>{{ r.type }}</th>
-        <th>{{ r.type.nature_remuneration }}</th>
-        <td>{{ r.montant }} {{ r.devise.code }}</td>
-        <td>{{ r.commentaire }}</td>
-        <td>{{ r.date_debut }}</td>
-        <td>{{ r.date_fin }}</td>
-    </tr>
-    {% endfor %}
-</table>
+{% include "rh/include/remunerations.html" with remunerations=dossier.remunerations %}
 
 {% include "rh/include/pieces.html" %}
 
index 3d095b9..ddf897b 100644 (file)
@@ -1,2 +1,64 @@
-<h2>Employé</h2>
-<h3>{{ employe.nom|title }} {{employe.prenom|title }}</h3>
+<h2>{{ employe.nom|title }} {{employe.prenom|title }}</h2>
+<h3>Identification</h3>
+<table>
+  <tr>
+    <th>Nom</th>
+    <td>{{ employe.nom }}</td>
+  </tr>
+  <tr>
+    <th>Prénom</th>
+    <td>{{ employe.prenom }}</td>
+  </tr>
+  <tr>
+    <th>Nom d'affichage</th>
+    <td>{{ employe.nom_affichage|default:"" }}</td>
+  </tr>
+  <tr>
+    <th>Nationalité</th>
+    <td>{{ employe.nationalite }}</td>
+  </tr>
+  <tr>
+    <th>Date de naissance</th>
+    <td>{{ employe.date_naissance }}</td>
+  </tr>
+  <tr>
+    <th>Situation familiale</th>
+    <td>{{ employe.situation_famille.nom }}</td>
+  </tr>
+  <tr>
+    <th>Date d'entrée à l'AUF</th>
+    <td>{{ employe.date_entree }}</td>
+  </tr>
+</table>
+
+<h3>Coordonnées</h3>
+<table>
+  <tr>
+    <th>Adresse</th>
+    <td>{{ employe.adresse }}</td>
+  </tr>
+  <tr>
+    <th>Ville</th>
+    <td>{{ employe.ville }}</td>
+  </tr>
+  <tr>
+    <th>Code postal</th>
+    <td>{{ employe.code_postal }}</td>
+  </tr>
+  <tr>
+    <th>Province</th>
+    <td>{{ employe.province }}</td>
+  </tr>
+  <tr>
+    <th>Pays</th>
+    <td>{{ employe.pays }}</td>
+    </tr>
+  <tr>
+    <th>Tél. domicile</th>
+    <td>{{ employe.tel_domicile }}</td>
+  </tr>
+  <tr>
+    <th>Tél. mobile</th>
+    <td>{{ employe.tel_cellulaire }}</td>
+  </tr>
+</table>
index 70b23cc..1006557 100644 (file)
@@ -1,8 +1,29 @@
 <style type="text/css">
 @media print {
-    ul.object-tools .noprint {display: none;}
+    .noprint, ul.object-tools .noprint {display: none;}
 }
+/*
+.action-remove-block {
+  display: block;
+  position: relative;
+  top: 10px;
+  left: 10px;
+}
+table { clear: both; float: none }
+h3 { float: left }
+*/
 </style>
+<script type="text/javascript">
+  document.addEventListener("DOMContentLoaded", function() {
+    var objects = document.getElementsByClassName("action-remove-block");
+    for(var i = 0; i < objects.length; i++) {
+      objects[i].onclick = function(){ 
+        this.parentNode.parentNode.removeChild(this.parentNode);
+        return false;
+      }
+    }
+  }, false);
+</script>
 
 <ul class="object-tools">
     <li><a href="javascript:window.print()" class="noprint">Imprimer</a></li>
index 6247205..016aa83 100644 (file)
@@ -1,15 +1,20 @@
 {% if pieces|length > 0 %}
-<h3>Pièces</h3>
-<table>
-    <tr>
-        <th>Nom</th>
-        <th>Lien</th>
-    </tr>
-    {% for p in pieces %}
-    <tr>
-        <th>{{ p }}</th>
-        <th><a href="{{ media }}{{ p.fichier }}">Télécharger</a></th>
-    </tr>
-    {% endfor %}
-</table>
+<div>
+  <h3>Pièces</h3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <table>
+      <tr>
+          <th>Nom</th>
+          <th>Lien</th>
+      </tr>
+      {% for p in pieces %}
+      <tr>
+          <th>{{ p }}</th>
+          <th><a href="{{ media_url }}{{ p.fichier }}">Télécharger</a></th>
+      </tr>
+      {% endfor %}
+  </table>
+</div>
 {% endif %}
index 81ee60a..191721e 100644 (file)
-<h2>Poste</h2>
+<div>
+  <h3>Identification</h3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <table>
+      <tr><th>Nom</th><td>{{ poste.nom }}</td></tr>
+      <tr><th>Implantation</th><td>{{ poste.implantation }}</td></tr>
+      <tr><th>Type</th><td>{{ poste.type_poste }}</td></tr>
+      <tr><th>Service</th><td>{{ poste.service }}</td></tr>
+      <tr><th>Responsable</th><td>{{ poste.responsable }}</td></tr>
+  </table>
+</div>
 
-<h3>Identification</h3>
-<table>
-    <tr><th>Nom</th><td>{{ poste.nom }}</td></tr>
-    <tr><th>Implantation</th><td>{{ poste.implantation }}</td></tr>
+<div>
+  <h3>Contrat</h3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <table>
+      <tr><th>Régime de travail (% du temps complet)</th><td>{{ poste.regime_travail }}</td></tr>
+      <tr><th>Régime de travail (Nb. heures par semaine)</th><td>{{ poste.regime_travail_nb_heure_semaine }}</td></tr>
+  </table>
+</div>
 
-    <tr><th>Type</th><td>{{ poste.type_poste }}</td></tr>
-    <tr><th>Service</th><td>{{ poste.service }}</td></tr>
-    <tr><th>Responsable</th><td>{{ poste.responsable }}</td></tr>
-</table>
+<div>
+  <h3>Recrutement</h3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <table>
+      <tr><th>Local</th><td>{{ poste.local|yesno:"Oui,Non,Inconnu" }}</td></tr>
+      <tr><th>Expatrié</th><td>{{ poste.expatrie|yesno:"Oui,Non,Inconnu" }}</td></tr>
+      <tr><th>Mise à disposition</th><td>{{ poste.mise_a_disposition|yesno:"Oui,Non,Inconnu" }}</td></tr>
+      <tr><th>Appel à candidature</th><td>{{ poste.appel }}</td></tr>
+  </table>
+</div>
 
-<h3>Contrat</h3>
-<table>
-    <tr><th>Régime de travail (% du temps complet)</th><td>{{ poste.regime_travail }}</td></tr>
-    <tr><th>Régime de travail (Nb. heures par semaine)</th><td>{{ poste.regime_travail_nb_heure_semaine }}</td></tr>
-</table>
+<div>
+  <h3>Rémunération</H3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <table id="classement">
+    <thead>
+      <tr>
+        <th></th>
+        <th>Min.</th>
+        <th>Max.</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <th>Échelon AUF</th>
+        <td>{{ poste.classement_min|default:"s/o" }}</td>
+        <td>{{ poste.classement_max|default:"s/o" }}</td>
+      </tr>
+      <tr>
+        <th>Valeur du point</th>
+        <td class="montant">{{ poste.valeur_point_min|default:"" }}</td>
+        <td class="montant">{{ poste.valeur_point_max|default:"" }}</td>
+      </tr>
+      <tr>
+        <th>Salaire de base</th>
+        <td class="montant">{{ poste.salaire_min|default:"0"|floatformat:0 }} {{ poste.devise_min.code }}</td>
+        <td class="montant">{{ poste.salaire_max|default:"0"|floatformat:0 }} {{ poste.devise_max.code }}</td>
+      </tr>
+      <tr>
+        <th>Indemnité</th>
+        <td class="montant">{{ poste.indemn_min|default:"0"|floatformat:0 }} {{ poste.devise_min.code }}</td>
+        <td class="montant">{{ poste.indemn_max|default:"0"|floatformat:0 }} {{ poste.devise_max.code }}</td>
+      </tr>
+      <tr>
+        <th>Autres</th>
+        <td class="montant">{{ poste.autre_min|default:"0"|floatformat:0 }} {{ poste.devise_min.code }}</td>
+        <td class="montant">{{ poste.autre_max|default:"0"|floatformat:0 }} {{ poste.devise_max.code }}</td>
+      </tr>
+    </tbody>
+  </table>
+</div>
 
-<h3>Recrutement</h3>
-<table>
-    <tr><th>Local</th><td>{{ poste.local|yesno:"Oui,Non" }}</td></tr>
-    <tr><th>Expatrié</th><td>{{ poste.expatrie|yesno:"Oui,Non" }}</td></tr>
-    <tr><th>Mise à disposition</th><td>{{ poste.mise_a_disposition|yesno:"Oui,Non" }}</td></tr>
-    <tr><th>Appel à candidature</th><td>{{ poste.appel }}</td></tr>
-</table>
-<h3>Rémunération</H3>
-<table id="classement">
-  <thead>
-    <tr>
-      <th></th>
-      <th>Min.</th>
-      <th>Max.</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <th>Échelon AUF</th>
-      <td>{{ poste.classement_min|default:"s/o" }}</td>
-      <td>{{ poste.classement_max|default:"s/o" }}</td>
-    </tr>
-    <tr>
-      <th>Valeur du point</th>
-      <td class="montant">{{ poste.valeur_point_min|default:"" }}</td>
-      <td class="montant">{{ poste.valeur_point_max|default:"" }}</td>
-    </tr>
-    <tr>
-      <th>Salaire de base</th>
-      <td class="montant">{{ poste.salaire_min|default:"0"|floatformat:0 }} {{ poste.devise_min.code }}</td>
-      <td class="montant">{{ poste.salaire_max|default:"0"|floatformat:0 }} {{ poste.devise_max.code }}</td>
-    </tr>
-    <tr>
-      <th>Indemnité</th>
-      <td class="montant">{{ poste.indemn_min|default:"0"|floatformat:0 }} {{ poste.devise_min.code }}</td>
-      <td class="montant">{{ poste.indemn_max|default:"0"|floatformat:0 }} {{ poste.devise_max.code }}</td>
-    </tr>
-    <tr>
-      <th>Autres</th>
-      <td class="montant">{{ poste.autre_min|default:"0"|floatformat:0 }} {{ poste.devise_min.code }}</td>
-      <td class="montant">{{ poste.autre_max|default:"0"|floatformat:0 }} {{ poste.devise_max.code }}</td>
-    </tr>
-  </tbody>
-</table>
+<div>
+  <h3>Comparatif</H3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <h4 style="float:none; clear: both">Device comparative : {{ poste.devise_comparaison }} </h4>
+  <table id="classement">
+    <thead>
+      <tr>
+        <th></th>
+        <th>Min.</th>
+        <th>Max.</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <th>Comp. locale</th>
+        <td class="montant">{{ poste.comp_locale_min|default:"0" }}</td>
+        <td class="montant">{{ poste.comp_locale_max|default:"0" }}</td>
+      </tr>
+      <tr>
+        <th>Comp. université</th>
+        <td class="montant">{{ poste.comp_universite_min|default:"0" }}</td>
+        <td class="montant">{{ poste.comp_universite_max|default:"0" }}</td>
+      </tr>
+      <tr>
+        <th>Comp. fonction pub.</th>
+        <td class="montant">{{ poste.comp_fonctionpub_min|default:"0" }}</td>
+        <td class="montant">{{ poste.comp_fonctionpub_max|default:"0" }}</td>
+      </tr>
+      <tr>
+        <th>Comp. ONG</th>
+        <td class="montant">{{ poste.comp_ong_min|default:"0" }}</td>
+        <td class="montant">{{ poste.comp_ong_max|default:"0" }}</td>
+      </tr>
+      <tr>
+        <th>Comp. autre</th>
+        <td class="montant">{{ poste.comp_autre_min|default:"0" }}</td>
+        <td class="montant">{{ poste.comp_autre_max|default:"0" }}</td>
+      </tr>
+      <tr>
+        <th>valeur</th>
+        <td class="montant">{{ poste.valeur_valeur_min|default:"0" }}</td>
+        <td class="montant">{{ poste.valeur_valeur_max|default:"0" }}</td>
+      </tr>
+    </tbody>
+  </table>
+</div>
 
-<h3>Comparatif</H3>
-<h4>Device comparative : {{ poste.devise_comparaison }} </h4>
-<table id="classement">
-  <thead>
-    <tr>
-      <th></th>
-      <th>Min.</th>
-      <th>Max.</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <th>Comp. locale</th>
-      <td class="montant">{{ poste.comp_locale_min|default:"0" }}</td>
-      <td class="montant">{{ poste.comp_locale_max|default:"0" }}</td>
-    </tr>
-    <tr>
-      <th>Comp. université</th>
-      <td class="montant">{{ poste.comp_universite_min|default:"0" }}</td>
-      <td class="montant">{{ poste.comp_universite_max|default:"0" }}</td>
-    </tr>
-    <tr>
-      <th>Comp. fonction pub.</th>
-      <td class="montant">{{ poste.comp_fonctionpub_min|default:"0" }}</td>
-      <td class="montant">{{ poste.comp_fonctionpub_max|default:"0" }}</td>
-    </tr>
-    <tr>
-      <th>Comp. ONG</th>
-      <td class="montant">{{ poste.comp_ong_min|default:"0" }}</td>
-      <td class="montant">{{ poste.comp_ong_max|default:"0" }}</td>
-    </tr>
-    <tr>
-      <th>Comp. autre</th>
-      <td class="montant">{{ poste.comp_autre_min|default:"0" }}</td>
-      <td class="montant">{{ poste.comp_autre_max|default:"0" }}</td>
-    </tr>
-    <tr>
-      <th>valeur</th>
-      <td class="montant">{{ poste.valeur_valeur_min|default:"0" }}</td>
-      <td class="montant">{{ poste.valeur_valeur_max|default:"0" }}</td>
-    </tr>
-  </tbody>
-</table>
 {% if poste.justification %}
-<h3>Justification</h3>
-{{ poste.justification }}
+<div>
+  <h3>Justification</h3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <p style="float:none; clear: both">
+  {{ poste.justification }}
+  </p>
+</div>
 {% endif %}
 
 {% if poste.date_debut or poste.date_fin %}
-<h3>Autres méta-données</h3>
-<table>
-  <tr>
-    <th>Date début</th>
-    <td>{{ poste.date_debut|default:"s/o" }}</td>
-  </tr>
-  <tr>
-    <th>Date fin</th>
-    <td>{{ poste.date_fin|default:"s/o" }}</td>
-  </tr>
-</table>
-
-{% endif %}
-
-{% if financements|length > 0  %}
-<h3>Financement</h3>
-<table>
-  <thead>
+<div>
+  <h3>Autres méta-données</h3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <table>
     <tr>
-      <th>Type</th>
-      <th>Pourcentage</th>
-      <th>Commentaire</th>
+      <th>Date début</th>
+      <td>{{ poste.date_debut|default:"s/o" }}</td>
     </tr>
-  </thead>
-  <tbody>
-    {% for f in financements %}
     <tr>
-      <td>{{ f.type }}</td>
-      <td>{{ f.pourcentage|floatformat:"2" }}%</td>
-      <td>{{ f.commentaire }}</td>
+      <th>Date fin</th>
+      <td>{{ poste.date_fin|default:"s/o" }}</td>
     </tr>
-    {% endfor %}
-  </tbody>
-</table>
+  </table>
+</div>
+{% endif %}
+
+{% if financements|length > 0  %}
+<div>
+  <h3>Financement</h3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <table>
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Pourcentage</th>
+        <th>Commentaire</th>
+      </tr>
+    </thead>
+    <tbody>
+      {% for f in financements %}
+      <tr>
+        <td>{{ f.choix }}</td>
+        <td>{{ f.pourcentage|floatformat:"2" }}%</td>
+        <td>{{ f.commentaire }}</td>
+      </tr>
+      {% endfor %}
+    </tbody>
+  </table>
+</div>
 {% endif %}
 
 {% include "rh/include/pieces.html" %}
 
 {% if dossiers|length > 0 %}
-<h3>Autres méta-données</h3>
-<table>
-  <tr>
-    <th>Date début</th>
-    <td>{{ poste.date_debut|default:"s/o" }}</td>
-  </tr>
-  <tr>
-    <th>Date fin</th>
-    <td>{{ poste.date_fin|default:"s/o" }}</td>
-  </tr>
-</table>
-
-{% endif %}
-
-{% if dossiers|length > 0  %}
-<h3>Dossiers</h3>
-<table>
-  <thead>
+<div>
+  <h3>Autres méta-données</h3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <table>
     <tr>
       <th>Date début</th>
-      <th>Date fin</th>
-      <th># du poste</th>
-      <th>Actif</th>
-      <th>Employé<th>
+      <td>{{ poste.date_debut|default:"s/o" }}</td>
     </tr>
-  </thead>
-  <tbody>
-    {% for d in dossiers %}
     <tr>
-      <td>{{ d.date_debut }}</td>
-      <td>{{ d.date_fin }}</td>
-      <td>{{ d.id }}</td>
-      <td>{{ d.actif|yesno:"Oui,Non" }}</td>
-      <td>{{ d.employe }}</td>
+      <th>Date fin</th>
+      <td>{{ poste.date_fin|default:"s/o" }}</td>
     </tr>
-    {% endfor %}
-  </tbody>
-</table>
+  </table>
+</div>
+{% endif %}
+
+{% if dossiers|length > 0  %}
+<div>
+  <h3>Dossiers</h3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <table>
+    <thead>
+      <tr>
+        <th>Date début</th>
+        <th>Date fin</th>
+        <th># du poste</th>
+        <th>Actif</th>
+        <th>Employé<th>
+      </tr>
+    </thead>
+    <tbody>
+      {% for d in dossiers %}
+      <tr>
+        <td>{{ d.date_debut }}</td>
+        <td>{{ d.date_fin }}</td>
+        <td>{{ d.id }}</td>
+        <td>{{ d.actif|yesno:"Oui,Non" }}</td>
+        <td>{{ d.employe }}</td>
+      </tr>
+      {% endfor %}
+    </tbody>
+  </table>
+</div>
 {% endif %}
 
 {% if comparaisons|length > 0  %}
-<h3>Dossiers de comparaison</h3>
-<table>
-  <thead>
-    <tr>
-      <th>Implantation</th>
-      <th>Nom</th>
-      <th>Montant</th>
-      <th>Devise<th>
-    </tr>
-  </thead>
-  <tbody>
-    {% for p in comparaisons %}
-    <tr>
-      <td>{{ p.implantation }}</td>
-      <td>{{ p.nom }}</td>
-      <td>{{ p.montant|floatformat:2 }}</td>
-      <td>{{ p.devise|default:"s/o" }}</td>
-    </tr>
-    {% endfor %}
-  </tbody>
-</table>
+<div>
+  <h3>Dossiers de comparaison</h3>
+  {% comment %}
+  <a class="noprint action-remove-block" href="#">Retirer de l'impression</a>
+  {% endcomment %}
+  <table>
+    <thead>
+      <tr>
+        <th>Implantation</th>
+        <th>Nom</th>
+        <th>Montant</th>
+        <th>Devise<th>
+      </tr>
+    </thead>
+    <tbody>
+      {% for p in comparaisons %}
+      <tr>
+        <td>{{ p.implantation }}</td>
+        <td>{{ p.nom }}</td>
+        <td>{{ p.montant|floatformat:2 }}</td>
+        <td>{{ p.devise|default:"s/o" }}</td>
+      </tr>
+      {% endfor %}
+    </tbody>
+  </table>
+</div>
 {% endif %}
 
 {% include "rh/include/commentaires.html" %}
diff --git a/project/rh/templates/rh/include/remunerations.html b/project/rh/templates/rh/include/remunerations.html
new file mode 100644 (file)
index 0000000..71f3bd2
--- /dev/null
@@ -0,0 +1,25 @@
+{% if remunerations|length > 0 %}
+<h3>Rémunérations en cours</h3>
+<table>
+    <tr>
+        <th>Type</th>
+        <th>Nature</th>
+        <th>Montant (devise)</th>
+        <th>Commentaire</th>
+        <th>Date début</th>
+        <th>Date fin</th>
+    </tr>
+    {% for r in dossier.remunerations_en_cours %}
+    <tr>
+        <th>{{ r.type }}</th>
+        <th>{{ r.type.nature_remuneration }}</th>
+        <td>{{ r.montant }} {{ r.devise.code }}</td>
+        <td>{{ r.commentaire|default:"" }}</td>
+        <td>{{ r.date_debut }}</td>
+        <td>{{ r.date_fin }}</td>
+    </tr>
+    {% endfor %}
+</table>
+{% endif %}
+
+
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 0959da8..6446ebb 100644 (file)
@@ -82,10 +82,10 @@ def filter_debut_contrat(context):
     return {'title': u"date début",
             'choices': prepare_choices_date(field_name, context, links=(
                 ('Tous', {}),
-                ('anées à venirs', {'%s__gte' % field_name: next_year.strftime('%Y-%m-%d')}),
+                ('années à venir', {'%s__gte' % field_name: next_year.strftime('%Y-%m-%d')}),
                 ('cette anneée', {'%s__gte' % field_name: this_year.strftime('%Y-%m-%d'),
                                 '%s__lt' % field_name: next_year.strftime('%Y-%m-%d')}),
-                ('ans passés', {'%s__lte' % field_name: last_year.strftime('%Y-%m-%d')}),
+                ('années passés', {'%s__lte' % field_name: last_year.strftime('%Y-%m-%d')}),
             )
     )}
 
index 6b56462..32dfa8f 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()),
     }
 
@@ -303,7 +311,7 @@ def dossier_apercu(request, dossier_id):
         'pieces' :  rh.DossierPiece.objects.filter(dossier__exact=d),
         'contrats' : rh.Contrat.objects.filter(dossier__exact=d),
         'commentaires' : rh.DossierCommentaire.objects.filter(dossier__exact=d).all(),
-        'media' : settings.PRIVE_MEDIA_URL
+        'media_url': settings.PRIVE_MEDIA_URL,
     }
     return render_to_response('admin/rh/dossier/apercu.html', c, RequestContext(request))
 
@@ -317,6 +325,7 @@ def poste_apercu(request, poste_id):
         'dossiers' : rh.Dossier.objects.filter(poste=poste_id).order_by("-date_debut").all(),
         'comparaisons' : rh.PosteComparaison.objects.filter(poste=poste_id).all(),
         'commentaires' : rh.PosteCommentaire.objects.filter(poste=poste_id).all(),
+        'media_url': settings.PRIVE_MEDIA_URL,
     }
     return render_to_response('admin/rh/poste/apercu.html', c, RequestContext(request))
 
@@ -341,6 +350,7 @@ def employe_apercu(request, employe_id):
         'is_popup' : request.GET.get('_popup', False),
         'employe' : employe,
         'dossiers' : dossiers,
+        'media_url': settings.PRIVE_MEDIA_URL,
     }
     return render_to_response('admin/rh/employe/apercu.html', c, RequestContext(request))