<div id="changelist-filter">
<h2>{% trans 'Filter' %}</h2>
-{% filter_region_dossier %}
-{% filter_implantation_dossier %}
+{% filter_region_contrat %}
+{% filter_implantation_contrat %}
</div>
<table id="result_list" class="results">
employes_query = employes_query.order_by("%s%s" % ('-' if 'ot' in request.GET and request.GET['ot'] == "desc" else '', request.GET['o']))
employes = {}
- for e in employes_query.all():
- dossiers = rh.Dossier.objects.filter(employe=e). \
- filter(Q(date_fin=None) | Q(date_fin__gt=date.today())). \
- filter(**lookup_params).all()
- for d in dossiers:
- contrats = rh.Contrat.objects.filter(Q(dossier=d) & Q(date_fin__lt=date.today())).all()
- if contrats:
- if e.id not in employes:
- employes[e.id] = {'employe': e, 'dossiers': set([d])}
- else:
- employes[e.id]['dossiers'].add(d)
+
+ dossiers_en_cours = rh.Dossier.objects.filter(Q(date_fin=None) | Q(date_fin__gt=date.today()))
+ tous_contrats_echus = rh.Contrat.objects.filter(date_fin__lt=date.today(), dossier__in=dossiers_en_cours)
+ contrats = tous_contrats_echus.filter(**lookup_params).all()
+ for c in contrats:
+ if c.dossier.employe.id not in employes.keys():
+ employes[c.dossier.employe.id] = {'employe': c.dossier.employe, 'dossiers': []}
+ employes[c.dossier.employe.id]['dossiers'] += [c.dossier,]
+
+
headers = [
("id", u"# de l'employé"),