From c693630090f670ca33981dcdf0b135fdd7432972 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 4 Apr 2013 12:48:06 +0200 Subject: Operations: search operations by dates (refs #1187) --- archaeological_operations/forms.py | 8 ++++++++ archaeological_operations/views.py | 8 +++++++- 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'archaeological_operations') diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 62425b68d..f2a81a85d 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -106,6 +106,14 @@ class OperationSelect(forms.Form): remains = forms.ChoiceField(label=_(u"Remains"), choices=models.RemainType.get_types()) year = forms.IntegerField(label=_("Year")) + start_before = forms.DateField(label=_(u"Started before"), + widget=widgets.JQueryDate) + start_after = forms.DateField(label=_(u"Started after"), + widget=widgets.JQueryDate) + end_before = forms.DateField(label=_(u"Ended before"), + widget=widgets.JQueryDate) + end_after = forms.DateField(label=_(u"Ended after"), + widget=widgets.JQueryDate) end_date = forms.NullBooleanField(label=_(u"Is open?")) def __init__(self, *args, **kwargs): diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index 96fd2efd2..e12b8edd6 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -94,9 +94,15 @@ def get_available_operation_code(request, year=None): get_operation = get_item(models.Operation, 'get_operation', 'operation', bool_fields = ['end_date__isnull'], + dated_fields = ['start_date__lte', 'start_date__gte', + 'excavation_end_date__lte', 'excavation_end_date__gte'], extra_request_keys={'common_name':'common_name__icontains', 'end_date':'end_date__isnull', - 'year_index':('year', 'operation_code')}) + 'year_index':('year', 'operation_code'), + 'start_before':'start_date__lte', + 'start_after':'start_date__gte', + 'end_before':'excavation_end_date__lte', + 'end_after':'excavation_end_date__gte',}) show_operation = show_item(models.Operation, 'operation') revert_operation = revert_item(models.Operation) -- cgit v1.2.3