Filtre comblé
authorPA Parent <paparent@paparent.me>
Sun, 11 Dec 2011 21:56:07 +0000 (16:56 -0500)
committerPA Parent <paparent@paparent.me>
Sun, 11 Dec 2011 21:56:07 +0000 (16:56 -0500)
project/rh/templates/rh/rapports/postes.html
project/rh/templatetags/rapports.py
project/rh/views.py

index 01b8854..0f560a7 100644 (file)
@@ -23,6 +23,7 @@
 <h2>{% trans 'Filter' %}</h2>
 {% filter_region %}
 {% filter_implantation %}
+{% filter_comble %}
 </div>
 
        <table id="result_list">
index fd6f936..1959162 100644 (file)
@@ -10,6 +10,15 @@ from datamaster_modeles.models import Implantation, Region
 register = Library()
 
 
+COMBLE_CHOICES = (('c', 'Comblé'), ('n', 'Non-comblé'))
+
+
+@register.inclusion_tag('admin/filter.html', takes_context=True)
+def filter_comble(context):
+    return {'title': 'comblé',
+            'choices': prepare_choices(COMBLE_CHOICES, 'comble', context)}
+
+
 @register.inclusion_tag('admin/filter_select.html', takes_context=True)
 def filter_region(context):
     return {'title': u"région",
index d72531e..92b3ec6 100644 (file)
@@ -62,6 +62,8 @@ def rapports_poste(request):
 
     lookup_params = dict(request.GET.items())
 
+    comble = 'all'
+
     for key, value in lookup_params.items():
         if not isinstance(key, str):
             # 'key' will be used as a keyword argument later, so Python
@@ -69,6 +71,10 @@ def rapports_poste(request):
             del lookup_params[key]
             lookup_params[smart_str(key)] = value
 
+        if key == 'comble':
+            comble = value
+            del lookup_params[key]
+
     postes = rh.Poste.actifs.select_related('implantation').all()
     postes = postes.filter(**lookup_params)
 
@@ -81,13 +87,20 @@ def rapports_poste(request):
     out = []
 
     for p in postes:
+        employe = employes.get(p.id)
+
+        if comble == 'c' and not employe:
+            continue
+
+        if comble == 'n' and employe:
+            continue
+
         line = {}
         out.append(line)
 
         line['id'] = p.id
         line['nom'] = p.nom
         line['implantation'] = p.implantation.nom
-        employe = employes.get(p.id)
         if employe:
             line['employe_id'] = employe.id
             line['employe_nom'] = employe.nom