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
{% 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" %}
{% 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 %}