diff options
author | Filipp Lepalaan <filipp@mac.com> | 2015-11-09 14:30:24 +0200 |
---|---|---|
committer | Filipp Lepalaan <filipp@mac.com> | 2015-11-09 14:30:24 +0200 |
commit | 37bbb1fc01ee14298637ea02208ef1ec35eb1a97 (patch) | |
tree | ac0d035ff2d85b22075fb7e8f5580f836908db8f | |
parent | e6d0c22dcf380d87c9ef93f4a1837e1edc3d7e2b (diff) | |
download | Servo-37bbb1fc01ee14298637ea02208ef1ec35eb1a97.tar.gz Servo-37bbb1fc01ee14298637ea02208ef1ec35eb1a97.tar.bz2 Servo-37bbb1fc01ee14298637ea02208ef1ec35eb1a97.zip |
Added status_older_than search
-rw-r--r-- | servo/forms/orders.py | 4 | ||||
-rw-r--r-- | 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) |