From c6b7231739faa5563e957f4a954524aa038b7c3e Mon Sep 17 00:00:00 2001 From: pnshiralkar Date: Fri, 24 Apr 2020 01:34:00 +0530 Subject: [PATCH] Sorting by date done --- .../statistics_app/workshop_stats.html | 21 +++++++++++++++++- statistics_app/views.py | 22 ++++++++++++++----- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/statistics_app/templates/statistics_app/workshop_stats.html b/statistics_app/templates/statistics_app/workshop_stats.html index 6dc1103..74c1ad4 100644 --- a/statistics_app/templates/statistics_app/workshop_stats.html +++ b/statistics_app/templates/statistics_app/workshop_stats.html @@ -31,6 +31,25 @@ dateToday.setDate(dateToday.getDate() - 1); upto.setFullYear(dateToday.getFullYear() + 1); + function getParameterByName(name, url) { + if (!url) url = window.location.href; + name = name.replace(/[\[\]]/g, '\\$&'); + var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), + results = regex.exec(url); + if (!results) return null; + if (!results[2]) return ''; + return decodeURIComponent(results[2].replace(/\+/g, ' ')); +} + + sort_date_by = getParameterByName('sort_by_date') + console.log(sort_date_by) + function sort_date(){ + if(sort_date_by == 'asc') + window.location = '?sort_by_date=desc' + else + window.location = '?sort_by_date=asc' + } + $( function() { from = $( "#from" ) .datepicker({ @@ -122,7 +141,7 @@ Institute Name Instructor Name Workshop Name - Workshop Date + Workshop Date Requested/Proposed By diff --git a/statistics_app/views.py b/statistics_app/views.py index 784f30d..557a146 100644 --- a/statistics_app/views.py +++ b/statistics_app/views.py @@ -38,9 +38,9 @@ # Create your views here. def check_workshop_type(x): try: - y = datetime.strftime(x.proposed_workshop_date, '%d-%m-%Y') + y = x.proposed_workshop_date except BaseException: - y = datetime.strftime(x.requested_workshop_date, '%d-%m-%Y') + y = x.requested_workshop_date return y @@ -203,8 +203,13 @@ def workshop_stats(request): for workshop in requested_workshops: upcoming_workshops.append(workshop) - upcoming_workshops = sorted(upcoming_workshops, - key=lambda x: check_workshop_type(x)) + if 'sort_by_date' in request.GET: + if request.GET.get('sort_by_date') == 'asc': + upcoming_workshops = sorted(upcoming_workshops, + key=lambda x: check_workshop_type(x)) + elif request.GET.get('sort_by_date') == 'desc': + upcoming_workshops = sorted(upcoming_workshops, + key=lambda x: check_workshop_type(x), reverse=True) download = request.POST.get('Download') if download: @@ -286,8 +291,13 @@ def workshop_stats(request): for workshop in requested_workshops: upcoming_workshops.append(workshop) - upcoming_workshops = sorted(upcoming_workshops, - key=lambda x: check_workshop_type(x)) + if 'sort_by_date' in request.GET: + if request.GET.get('sort_by_date') == 'asc': + upcoming_workshops = sorted(upcoming_workshops, + key=lambda x: check_workshop_type(x)) + elif request.GET.get('sort_by_date') == 'desc': + upcoming_workshops = sorted(upcoming_workshops, + key=lambda x: check_workshop_type(x), reverse=True) except BaseException: upcoming_workshops = []