contrat échus
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 29 Feb 2012 20:24:01 +0000 (15:24 -0500)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 29 Feb 2012 20:24:01 +0000 (15:24 -0500)
project/rh/templates/rh/rapports/employes_sans_contrat.html
project/rh/views.py

index d7b9c2d..dd25878 100644 (file)
@@ -15,8 +15,8 @@
 
 <div id="changelist-filter">
 <h2>{% trans 'Filter' %}</h2>
 
 <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">
 </div>
 
 <table id="result_list" class="results">
index 2477e2b..27dc661 100644 (file)
@@ -302,17 +302,16 @@ def rapports_employe_sans_contrat(request):
         employes_query = employes_query.order_by("%s%s" % ('-' if 'ot' in request.GET and request.GET['ot'] == "desc" else '', request.GET['o']))
 
     employes = {}
         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é"),
 
     headers = [
         ("id", u"# de l'employé"),