From 37bbb1fc01ee14298637ea02208ef1ec35eb1a97 Mon Sep 17 00:00:00 2001 From: Filipp Lepalaan Date: Mon, 9 Nov 2015 14:30:24 +0200 Subject: Added status_older_than search --- servo/forms/orders.py | 4 ++++ servo/views/order.py | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/servo/forms/orders.py b/servo/forms/orders.py index ae97e87..eb5d554 100644 --- a/servo/forms/orders.py +++ b/servo/forms/orders.py @@ -141,6 +141,10 @@ class OrderSearchForm(forms.Form): label=mark_safe(' '), widget=DatepickerInput(attrs={'class': "input-small"}) ) + status_older_than = forms.IntegerField( + required=False, + label=_('Status older than (days)'), + ) def __init__(self, request, *args, **kwargs): super(OrderSearchForm, self).__init__(*args, **kwargs) diff --git a/servo/views/order.py b/servo/views/order.py index cc6d430..80e0077 100644 --- a/servo/views/order.py +++ b/servo/views/order.py @@ -42,8 +42,7 @@ def prepare_list_view(request, args): """ data = {'title': _("Orders")} - form = OrderSearchForm(args) - form.fields['location'].queryset = request.user.locations + form = OrderSearchForm(request, args) if request.session.get("current_queue"): del(request.session['current_queue']) @@ -64,6 +63,12 @@ def prepare_list_view(request, args): end_date = args.get('end_date') or timezone.now() orders = orders.filter(created_at__range=[start_date, end_date]) + if args.get("status_older_than"): + from datetime import datetime, timedelta + days = int(args.get("status_older_than")) + limit = datetime.now() - timedelta(days=days) + orders = orders.filter(status_started_at__lt=limit) + if args.get("assigned_to"): users = args.getlist("assigned_to") orders = orders.filter(user__in=users) -- cgit v1.2.3