From e9f1fe7a2163949e2a1fb761a14a6d859a800429 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Wed, 6 May 2020 21:09:25 +0200
Subject: [PATCH] history post to get plus predefined links
---
rowers/templates/history.html | 29 +++++++++++------
rowers/views/analysisviews.py | 59 ++++++++++++++++++++++-------------
rowers/views/statements.py | 2 ++
3 files changed, 60 insertions(+), 30 deletions(-)
diff --git a/rowers/templates/history.html b/rowers/templates/history.html
index 303ec369..df5ca327 100644
--- a/rowers/templates/history.html
+++ b/rowers/templates/history.html
@@ -5,20 +5,31 @@
{% block title %}Rowsandall {% endblock %}
{% block main %}
- History for {{ rower.user.first_name }} {{ rower.user.last_name }}
+
-
+
+ -
+
History for {{ rower.user.first_name }} {{ rower.user.last_name }}
+
+ -
+ Past 7 days
+
+ Past 14 days
+
+ Past 28 days
+
+ Current Concept2 Season
+
-
-
+
All workouts
diff --git a/rowers/views/analysisviews.py b/rowers/views/analysisviews.py
index 51e873d0..6f6c17b7 100644
--- a/rowers/views/analysisviews.py
+++ b/rowers/views/analysisviews.py
@@ -4658,32 +4658,32 @@ class AlertDelete(DeleteView):
def history_view(request,userid=0):
r = getrequestrower(request,userid=userid)
- form = HistorySelectForm()
-
usertimezone = pytz.timezone(r.defaulttimezone)
- activity_enddate = timezone.now()
- activity_enddate = activity_enddate.replace(hour=23,minute=59,second=59).astimezone(usertimezone)
- activity_startdate = activity_enddate-datetime.timedelta(days=15)
- activity_startdate = activity_startdate.replace(hour=0,minute=0,second=0).astimezone(usertimezone)
+ if request.GET.get('startdate'):
+ startdate,enddate = get_dates_timeperiod(request)
+ activity_startdate = datetime.datetime(
+ startdate.year,startdate.month,startdate.day
+ ).replace(hour=0,minute=0,second=0).astimezone(usertimezone)
+ activity_enddate = datetime.datetime(
+ enddate.year,enddate.month,enddate.day
+ ).replace(hour=23,minute=59,second=59).astimezone(usertimezone)
+ else:
+ activity_enddate = timezone.now()
+ activity_enddate = activity_enddate.replace(hour=23,minute=59,second=59).astimezone(usertimezone)
+ activity_startdate = activity_enddate-datetime.timedelta(days=15)
+ activity_startdate = activity_startdate.replace(hour=0,minute=0,second=0).astimezone(usertimezone)
+
typeselect = 'All'
+ if request.GET.get('workouttype'):
+ typeselect = request.GET.get('workouttype')
- if request.method=='POST':
- form = HistorySelectForm(request.POST)
- if form.is_valid():
- startdate = form.cleaned_data['startdate']
- enddate = form.cleaned_data['enddate']
- typeselect = form.cleaned_data['workouttype']
- activity_startdate = datetime.datetime(
- startdate.year,startdate.month,startdate.day
- ).replace(hour=0,minute=0,second=0).astimezone(usertimezone)
- activity_enddate = datetime.datetime(
- enddate.year,enddate.month,enddate.day
- ).replace(hour=23,minute=59,second=59).astimezone(usertimezone)
-
-
-
+ if typeselect not in mytypes.checktypes:
+ typeselect = 'All'
+ form = HistorySelectForm(initial={'startdate':activity_startdate,
+ 'enddate':activity_enddate,
+ 'workouttype':typeselect})
g_workouts = Workout.objects.filter(
user=r,
@@ -4795,6 +4795,15 @@ def history_view(request,userid=0):
},
]
+ lastseven = timezone.now()-datetime.timedelta(days=7)
+ lastfourteen = timezone.now()-datetime.timedelta(days=14)
+ last28 = timezone.now()-datetime.timedelta(days=28)
+ today = timezone.now()
+
+ firstmay = datetime.datetime(year=today.year,month=5,day=1).astimezone(usertimezone)
+ if firstmay>today:
+ firstmay = datetime.datetime(year=today.year-1,month=5,day=1)
+
return render(request,'history.html',
{
'rower':r,
@@ -4805,4 +4814,12 @@ def history_view(request,userid=0):
'totalscript':totalscript,
'totaldiv':totaldiv,
'form':form,
+ 'startdate':activity_startdate,
+ 'enddate':activity_enddate,
+ 'lastseven':lastseven,
+ 'lastfourteen':lastfourteen,
+ 'last28':last28,
+ 'today':today,
+ 'workouttype':typeselect,
+ 'firstmay':firstmay,
})
diff --git a/rowers/views/statements.py b/rowers/views/statements.py
index 87da8851..08c5fbab 100644
--- a/rowers/views/statements.py
+++ b/rowers/views/statements.py
@@ -467,6 +467,7 @@ def getrequestrower(request,rowerid=0,userid=0,notpermanent=False):
raise Http404("Rower doesn't exist")
if r.user == request.user:
+ request.session['rowerid'] = r.id
return r
if userid != 0 and not is_rower_team_member(request.user,u.rower):
@@ -476,6 +477,7 @@ def getrequestrower(request,rowerid=0,userid=0,notpermanent=False):
if notpermanent == False:
request.session['rowerid'] = r.id
+ request.session['rowerid'] = r.id
return r
def getrequestplanrower(request,rowerid=0,userid=0,notpermanent=False):