ftp set stuff
This commit is contained in:
@@ -33,7 +33,8 @@ allowed_paths = [
|
|||||||
'/rowers/me/gdpr-optin-confirm'
|
'/rowers/me/gdpr-optin-confirm'
|
||||||
'/rowers/exportallworkouts/',
|
'/rowers/exportallworkouts/',
|
||||||
'/rowers/exportallworkouts',
|
'/rowers/exportallworkouts',
|
||||||
'/rowers/survey/'
|
'/rowers/survey/',
|
||||||
|
'/rowers/me/prefs/'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@@ -58,6 +59,26 @@ class SurveyMiddleWare(object):
|
|||||||
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
class FTPMiddleWare(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 'ftp' in nexturl: # pragma: no cover
|
||||||
|
nexturl = '/rowers/me/prefs/'
|
||||||
|
mustsetftp = not r.ftpset
|
||||||
|
if mustsetftp: # pragma: no cover
|
||||||
|
return redirect(
|
||||||
|
'/rowers/me/prefs/?next=%s' % nexturl
|
||||||
|
)
|
||||||
|
|
||||||
|
response = self.get_response(request)
|
||||||
|
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
class GDPRMiddleWare(object):
|
class GDPRMiddleWare(object):
|
||||||
def __init__(self, get_response):
|
def __init__(self, get_response):
|
||||||
|
|||||||
@@ -919,6 +919,7 @@ class Rower(models.Model):
|
|||||||
# Privacy Data
|
# Privacy Data
|
||||||
gdproptin = models.BooleanField(default=False)
|
gdproptin = models.BooleanField(default=False)
|
||||||
gdproptindate = models.DateTimeField(blank=True, null=True)
|
gdproptindate = models.DateTimeField(blank=True, null=True)
|
||||||
|
ftpset = models.BooleanField(default=False)
|
||||||
surveydone = models.BooleanField(default=False)
|
surveydone = models.BooleanField(default=False)
|
||||||
surveydonedate = models.DateTimeField(blank=True, null=True)
|
surveydonedate = models.DateTimeField(blank=True, null=True)
|
||||||
|
|
||||||
|
|||||||
@@ -575,6 +575,12 @@ def rower_simpleprefs_view(request, userid=0):
|
|||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
form.save(commit=True)
|
form.save(commit=True)
|
||||||
messages.info(request,'FTP and OTW FTP saved')
|
messages.info(request,'FTP and OTW FTP saved')
|
||||||
|
if not r.ftpset:
|
||||||
|
r.ftpset = True
|
||||||
|
r.save()
|
||||||
|
nexturl = request.GET.get('next', '/rowers/list-workouts/')
|
||||||
|
return HttpResponseRedirect(nexturl)
|
||||||
|
|
||||||
|
|
||||||
return render(request, 'rower_simplepreferences.html',
|
return render(request, 'rower_simplepreferences.html',
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -107,6 +107,7 @@ MIDDLEWARE = [
|
|||||||
'rowers.middleware.GDPRMiddleWare',
|
'rowers.middleware.GDPRMiddleWare',
|
||||||
# 'rowers.middleware.PowerTimeFitnessMetricMiddleWare',
|
# 'rowers.middleware.PowerTimeFitnessMetricMiddleWare',
|
||||||
'rowers.middleware.RowerPlanMiddleWare',
|
'rowers.middleware.RowerPlanMiddleWare',
|
||||||
|
'rowers.middleware.FTPMiddleWare',
|
||||||
]
|
]
|
||||||
|
|
||||||
ROOT_URLCONF = 'rowsandall_app.urls'
|
ROOT_URLCONF = 'rowsandall_app.urls'
|
||||||
|
|||||||
Reference in New Issue
Block a user