From af3128b01e0b537ba21dd9a2bc819d6404a8fc9f Mon Sep 17 00:00:00 2001 From: Mitch Riedstra Date: Tue, 9 Jan 2018 17:37:08 -0500 Subject: Added filters for customer in templates. Show number of loads in customer list view --- .../templates/dispatch/companies/list.html | 11 +++++--- app/dispatch/templatetags/dynamic_key.py | 29 +++++++++++++++++++--- 2 files changed, 32 insertions(+), 8 deletions(-) (limited to 'app') diff --git a/app/dispatch/templates/dispatch/companies/list.html b/app/dispatch/templates/dispatch/companies/list.html index 97e54f7..2dc4f7c 100644 --- a/app/dispatch/templates/dispatch/companies/list.html +++ b/app/dispatch/templates/dispatch/companies/list.html @@ -3,6 +3,7 @@ {% block title %}Customers{% endblock %} {% block content %} +{% load dynamic_key %}

Customers

@@ -18,18 +19,20 @@ Name - Address - Phone Email + Total Loads + Last Week + This Week {% for customer in object_list %} {{ customer.name }} - {{ customer.address }} - {{ customer.phone_number }} {{ customer.email_address }} + {{ customer|customer_loads }} + {{ customer|customer_loads_last_week }} + {{ customer|customer_loads_this_week }} {% if user.is_superuser %} Edit diff --git a/app/dispatch/templatetags/dynamic_key.py b/app/dispatch/templatetags/dynamic_key.py index ae23704..b3cd165 100644 --- a/app/dispatch/templatetags/dynamic_key.py +++ b/app/dispatch/templatetags/dynamic_key.py @@ -1,15 +1,13 @@ from django import template +from dispatch.misc import get_week_dates, get_week_dates_datetime + register = template.Library() @register.filter def keyvalue(dictionary, key): return dictionary.get(key) -@register.filter -def customer_has_load_for_datetime(cu, dt): - return cu.has_paperwork(dt) - @register.filter def getindex(my_list, index): return my_list[index] @@ -19,3 +17,26 @@ def endRange(number, start): # +1 because 1 based index instead of 0 return range(start, number+1) + +# Customer Object stuff + +@register.filter +def customer_has_load_for_datetime(cu, dt): + return cu.has_paperwork(dt) + +@register.filter +def customer_loads(cu): + return len(cu.load_set.all()) + +@register.filter +def customer_loads_last_week(cu): + wk = get_week_dates() + wk = get_week_dates_datetime(wk['previous_week']) + return len(cu.load_set.filter(date__range=(wk['start_date'], + wk['end_date']))) + +@register.filter +def customer_loads_this_week(cu): + wk = get_week_dates() + return len(cu.load_set.filter(date__range=(wk['start_date'], + wk['end_date']))) -- cgit v1.2.3