Merge branch 'dev' of ssh://git.auf.org/auf_rh_dae into dev
[auf_rh_dae.git] / project / rh / admin.py
index 2ecc1f1..6c12274 100644 (file)
@@ -63,19 +63,20 @@ class ChangeList(DjangoChangeList):
                 del self.params[k]
         qs = super(ChangeList, self).get_query_set()
 
+        # hack pour spécifier un range
         if date_fin is None and date_debut is not None:
-            date_fin = date_debut
+            date_fin = '2020-01-01'
             prefix_fin = prefix_debut.replace('debut', 'fin')
         if date_debut is None and date_fin is not None:
-            date_debut = date_fin
+            date_debut = '1000-01-01'
             prefix_debut = prefix_fin.replace('fin', 'debut')
 
         if date_debut is not None and date_fin is not None:    
             q_left = (Q(**{'%s__isnull' % prefix_debut : True}) | Q(**{'%s__lte' % prefix_debut : date_debut})) & (Q(**{'%s__gte' % prefix_fin : date_debut}) & Q(**{'%s__lte' % prefix_fin : date_fin}))
             q_right = (Q(**{'%s__isnull' % prefix_fin : True}) | Q(**{'%s__gte' % prefix_fin : date_fin})) & (Q(**{'%s__gte' % prefix_debut : date_debut}) & Q(**{'%s__lte' % prefix_debut : date_fin}))
-            q_both = Q(**{'%s__isnull' % prefix_fin : True}) | Q(**{'%s__lte' % prefix_fin : date_fin}) & (Q(**{'%s__isnull' % prefix_debut : True}) | Q(**{'%s__gte' % prefix_debut : date_debut}))
+            q_no_date = Q(**{'%s__isnull' % prefix_fin : True}) & Q(**{'%s__isnull' % prefix_debut : True})
             q_non_supprime = Q(**{'%s__exact' % prefix_debut.replace('date_debut', 'supprime') : False})
-            q = (q_left | q_right | q_both) & q_non_supprime
+            q = (q_left | q_right | q_no_date) & q_non_supprime
             qs = qs.filter(q).distinct()
 
         self.params = old
@@ -631,6 +632,7 @@ class PosteAdmin(DateRangeMixin, AUFMetadataAdminMixin, ProtectRegionMixin, admi
             'type_poste__id__exact',
             'type_poste__famille_emploi__id__exact',
             'service__id__exact',
+            'service__isnull',
             'vacant__exact',
             ):
             return True