From d2a7d200cdf73895f9c90096e3d5f04b26822bca Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@nibio.no> Date: Tue, 11 Apr 2017 16:30:43 -0700 Subject: [PATCH] Added date search field for observations --- observations/forms.py | 5 +++++ observations/templates/observations/index.html | 18 ++++++++++++++++-- observations/views.py | 9 +++++++-- 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 observations/forms.py diff --git a/observations/forms.py b/observations/forms.py new file mode 100644 index 00000000..2b8c8a02 --- /dev/null +++ b/observations/forms.py @@ -0,0 +1,5 @@ +from django import forms + +class ObservationTimeFilterForm(forms.Form): + timeOfObservationFrom = forms.DateField(required=False) + timeOfObservationTo = forms.DateField(required=False) \ No newline at end of file diff --git a/observations/templates/observations/index.html b/observations/templates/observations/index.html index 81ac2e2f..8ed4fb67 100755 --- a/observations/templates/observations/index.html +++ b/observations/templates/observations/index.html @@ -44,7 +44,17 @@ </div> </div> <div class="col-xs-6"> - </div> + <form class="form-inline" method="get" action="/observations"> + <div class="form-group"> + <input class="form-control" type="date" name="{{form.timeOfObservationFrom.html_name}}" value="{{form.timeOfObservationFrom.value | default_if_none:""}}" placeholder="{% trans "From" %}"/> + </div> + - + <div class="form-group"> + <input class="form-control" type="date" name="{{form.timeOfObservationTo.html_name}}" value="{{form.timeOfObservationTo.value | default_if_none:""}}" placeholder="{% trans "To" %}"/> + </div> + <button type="submit" class="btn btn-primary">{% trans "Date search" %}</button> + </form> + </div> </div> <table class="table"> <thead> @@ -80,7 +90,11 @@ }; $(document).ready(function() { $(".chosen-select").chosen({placeholder_text_multiple:"{% trans "Crops" %}"}); - $.getJSON("/vipslogicproxy/rest/observation/broadcast/list/" + settings.vipsOrganizationId, function( json ) { + {% if form.timeOfObservationFrom.value or form.timeOfObservationTo.value %} + $.getJSON("/vipslogicproxy/rest/observation/broadcast/list/" + settings.vipsOrganizationId+ "?timeOfObservationFrom={{form.timeOfObservationFrom.value | default_if_none:""}}&timeOfObservationTo={{form.timeOfObservationTo.value | default_if_none:""}}", function( json ) { + {% else %} + $.getJSON("/vipslogicproxy/rest/observation/broadcast/list/" + settings.vipsOrganizationId+ "?season=" + getCurrentYear(), function( json ) { + {% endif %} allObservations = json; allObservations.sort(sortObservationMessages).reverse(); for(var i in allObservations) diff --git a/observations/views.py b/observations/views.py index 091827f5..86da364b 100755 --- a/observations/views.py +++ b/observations/views.py @@ -19,16 +19,21 @@ from django.shortcuts import render from django.utils import translation +from observations.forms import ObservationTimeFilterForm from organisms.models import CropCategory def index(request): + form = ObservationTimeFilterForm(request.GET) + if form == None: + form = ObservationTimeFilterForm() context = { - 'crop_categories': CropCategory.get_crop_categories(translation.get_language()) + "crop_categories": CropCategory.get_crop_categories(translation.get_language()), + "form" : form } return render(request, 'observations/index.html', context) def detail(request, observation_id): context = { - "observation_id" : observation_id + "observation_id" : observation_id, } return render(request, 'observations/detail.html', context) -- GitLab