fix selector tous toutes
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Thu, 16 Feb 2012 19:17:30 +0000 (14:17 -0500)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Thu, 16 Feb 2012 19:17:30 +0000 (14:17 -0500)
project/rh/admin.py
project/rh/change_list.py
project/rh/templatetags/change_list.py

index dbc78bd..e107914 100644 (file)
@@ -22,6 +22,16 @@ import filters
 class DateRangeMixin(object):
     prefixe_recherche_temporelle = ""
     def get_changelist(self, request, **kwargs):
+        if request.META.has_key('HTTP_REFERER'):
+                    referer = request.META['HTTP_REFERER']
+                    referer = "/".join(referer.split('/')[3:])
+                    referer = "/%s" % referer.split('?')[0]
+                    change_list_view = 'admin:%s_%s_changelist' % (self.model._meta.app_label, self.model.__name__.lower())
+                    if referer != reverse(change_list_view):
+                        params = request.GET.copy()
+                        today = datetime.date.today()
+                        params.update({'statut' : 'Actif'})
+                        request.GET = params
         return ChangeList
 
 # Override of the InlineModelAdmin to support the link in the tabular inline
index 0a38121..9e6a224 100644 (file)
@@ -27,7 +27,7 @@ STATUT_INCONNU = 'Inconnu'
 class ChangeList(DjangoChangeList):
 
     internal_fields = (KEY_ANNEE, KEY_DATE_DEBUT, KEY_DATE_FIN, KEY_STATUT, )
-    STATUT_CHOICES = ('', STATUT_ACTIF, STATUT_INACTIF, STATUT_FUTUR, STATUT_INCONNU )
+    STATUT_CHOICES = (STATUT_ACTIF, STATUT_INACTIF, STATUT_FUTUR, STATUT_INCONNU )
 
     def __init__(self, *args, **kwargs):
         super(ChangeList, self).__init__(*args, **kwargs)
index f4af7d6..ee36b02 100644 (file)
@@ -16,9 +16,9 @@ def add_selected(cl, key, value):
 
 @register.inclusion_tag('admin/rh/annee_select.html')
 def recherche_par_annees(cl):
-    list_annees = ['', ] + cl.get_annees()
-    statut_choices = ((cl.get_query_string({pcl.KEY_STATUT : p }, (pcl.KEY_ANNEE, pcl.KEY_DATE_DEBUT, pcl.KEY_DATE_FIN)), p) for p in cl.STATUT_CHOICES)
-    annee_choices = ((cl.get_query_string({pcl.KEY_ANNEE : a}, (pcl.KEY_STATUT , pcl.KEY_DATE_DEBUT, pcl.KEY_DATE_FIN)), a) for a in list_annees)
+    list_annees = cl.get_annees()
+    statut_choices = [(cl.get_query_string(remove=(pcl.KEY_STATUT,)), 'Tous')] + [(cl.get_query_string({pcl.KEY_STATUT : p }, (pcl.KEY_ANNEE, pcl.KEY_DATE_DEBUT, pcl.KEY_DATE_FIN)), p) for p in cl.STATUT_CHOICES]
+    annee_choices = [(cl.get_query_string(remove=(pcl.KEY_ANNEE,)), 'Toutes')] + [(cl.get_query_string({pcl.KEY_ANNEE : a}, (pcl.KEY_STATUT , pcl.KEY_DATE_DEBUT, pcl.KEY_DATE_FIN)), a) for a in list_annees]
     on_change = """window.location=window.location.pathname+this.options[this.selectedIndex].value"""
 
     class RechercheTemporelle(forms.Form):