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
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)
@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):