Private
Public Access
1
0

redirect to survey

This commit is contained in:
Sander Roosendaal
2020-01-08 22:27:49 +01:00
parent c03f3600b4
commit cfc61e8621
10 changed files with 164 additions and 9 deletions

View File

@@ -22,10 +22,10 @@ def getrower(user):
def do_update(user,mode='rower',days=42):
r = getrower(user)
startdate = timezone.now()-datetime.timedelta(days=days)
# test if not something already done
# test if not something already done
now_date = timezone.now().strftime('%Y-%m-%d')
ms = PowerTimeFitnessMetric.objects.filter(
user=user,
@@ -37,11 +37,11 @@ def do_update(user,mode='rower',days=42):
else:
max_workout_id = max([m.last_workout for m in ms])
last_update_date = ms[0].date.strftime('%Y-%m-%d')
#last_update_date = max([m.date.strftime('%Y-%m-%d') for m in ms])
if mode == 'rower':
workouts = Workout.objects.filter(
user=r,
@@ -59,7 +59,7 @@ def do_update(user,mode='rower',days=42):
except ValueError:
max_id = 0
if last_update_date < now_date and max_workout_id < max_id:
job = myqueue(queuelow,
handle_updatefitnessmetric,
@@ -73,7 +73,7 @@ def do_update(user,mode='rower',days=42):
class PowerTimeFitnessMetricMiddleWare(object):
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
# Code to be executed before the view is called
if request.user.is_authenticated:
@@ -83,7 +83,7 @@ class PowerTimeFitnessMetricMiddleWare(object):
response = self.get_response(request)
return response
from django.shortcuts import redirect
@@ -98,8 +98,28 @@ allowed_paths = [
'/rowers/me/gdpr-optin-confirm'
'/rowers/exportallworkouts/',
'/rowers/exportallworkouts',
'/rowers/survey/'
]
class SurveyMiddleWare(object):
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
if request.user.is_authenticated and request.path not in allowed_paths:
r = getrower(request.user)
nexturl = request.path
if 'survey' in nexturl:
nexturl = '/rowers/list-workouts'
if not r.surveydone:
return redirect(
'/rowers/survey/?next=%s' % nexturl
)
response = self.get_response(request)
return response
class GDPRMiddleWare(object):
def __init__(self, get_response):
self.get_response = get_response
@@ -137,7 +157,7 @@ class RowerPlanMiddleWare(object):
r.paidplan = basicplans[0]
r.save()
# remove from Free Coach groups
# send email
job = myqueue(queue,
handle_sendemail_expired,