From 43c2929bfb809d49f731bac263c602f52785965d Mon Sep 17 00:00:00 2001 From: "Benoit C. Sirois" Date: Fri, 8 Mar 2013 15:39:44 -0500 Subject: [PATCH] Fix for dossier principal --- project/rh/models.py | 16 +++++++++++++--- project/rh/templates/rh/include/dossier.html | 2 -- project/rh/templates/rh/include/employe.html | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/project/rh/models.py b/project/rh/models.py index df61f6c..e58945a 100644 --- a/project/rh/models.py +++ b/project/rh/models.py @@ -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 diff --git a/project/rh/templates/rh/include/dossier.html b/project/rh/templates/rh/include/dossier.html index 331c391..af2ae35 100644 --- a/project/rh/templates/rh/include/dossier.html +++ b/project/rh/templates/rh/include/dossier.html @@ -47,14 +47,12 @@ {% endif %} -{% if dossier.actif %}
{% for annee in annees %}

Rémunérations pour l'année {{ annee }}

{% rh_remun_form_for_year dossier annee %} {% endfor %}
-{% endif %} {% include "rh/include/pieces.html" %} diff --git a/project/rh/templates/rh/include/employe.html b/project/rh/templates/rh/include/employe.html index 612665d..0cd2249 100644 --- a/project/rh/templates/rh/include/employe.html +++ b/project/rh/templates/rh/include/employe.html @@ -41,7 +41,7 @@ {% if dossier_principal %} {% if annee %}
-

Rémunérations pour l'année {{ annee }}

+

Rémunérations pour l'année {{ annee }}, pour le dossier principal: {{ dossier_principal}}

{% rh_remun_form_for_year dossier_principal annee %}
{% endif %} -- 1.7.10.4