Fix for dossier principal
authorBenoit C. Sirois <benoit.clennett-sirois@auf.org>
Fri, 8 Mar 2013 20:39:44 +0000 (15:39 -0500)
committerBenoit C. Sirois <benoit.clennett-sirois@auf.org>
Fri, 8 Mar 2013 20:39:44 +0000 (15:39 -0500)
project/rh/models.py
project/rh/templates/rh/include/dossier.html
project/rh/templates/rh/include/employe.html

index df61f6c..e58945a 100644 (file)
@@ -591,14 +591,24 @@ class Employe(models.Model):
         q = search.get_q_temporel(self.rh_dossiers)
         return self.rh_dossiers.filter(q)
 
-    def dossier_principal(self):
+    def dossier_principal(self, year=None):
         """
         Retourne le dossier principal (ou le plus ancien si il y en a
         plusieurs)
         """
+        if not year:
+            year = date.today().year
+        year_start = date(year, 1, 1)
+        year_end = date(year, 12, 31)
+            
         try:
-            dossier = self.rh_dossiers \
-                    .filter(principal=True).order_by('date_debut')[0]
+            dossier = self.rh_dossiers.filter(
+                (Q(date_debut__lte=year_end, date_fin=None) |
+                 Q(date_debut=None, date_fin__gte=year_start) |
+                 Q(date_debut=None, date_fin__gte=year_start) |
+                 Q(date_debut__lte=year_end, date_fin__gte=year_start) |
+                 Q(date_debut=None, date_fin=None)) &
+                Q(principal=True)).order_by('date_debut')[0]
         except IndexError, Dossier.DoesNotExist:
             dossier = None
         return dossier
index 331c391..af2ae35 100644 (file)
     {% endif %}
 </fieldset>
 
-{% if dossier.actif %}
 <fieldset class="module aligned page-break">
     {% for annee in annees %}
     <h2>Rémunérations pour l'année {{ annee }}</h2>
     {% rh_remun_form_for_year dossier annee %}
     {% endfor %}
 </fieldset>
-{% endif %}
 
 {% include "rh/include/pieces.html" %}
 
index 612665d..0cd2249 100644 (file)
@@ -41,7 +41,7 @@
 {% if dossier_principal %}
 {% if annee %}
 <fieldset class="module aligned page-break">
-    <h2>Rémunérations pour l'année {{ annee }}</h2>
+    <h2>Rémunérations pour l'année {{ annee }}, pour le dossier principal: {{ dossier_principal}}</h2>
     {% rh_remun_form_for_year dossier_principal annee %}
 </fieldset>
 {% endif %}