commit
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
from django.shortcuts import redirect
|
||||
from django.http import HttpResponse
|
||||
from django.contrib import messages
|
||||
from rowers.mytypes import otwtypes
|
||||
from rowers.tasks import handle_sendemail_expired
|
||||
from django.utils import timezone
|
||||
from rowers.models import Workout, PowerTimeFitnessMetric, Rower, PaidPlan
|
||||
import datetime
|
||||
@@ -5,10 +10,7 @@ from rowers.utils import myqueue
|
||||
import django_rq
|
||||
queue = django_rq.get_queue('default')
|
||||
queuelow = django_rq.get_queue('low')
|
||||
from rowers.tasks import handle_sendemail_expired
|
||||
from rowers.mytypes import otwtypes
|
||||
from django.contrib import messages
|
||||
from django.http import HttpResponse
|
||||
|
||||
|
||||
def getrower(user):
|
||||
try:
|
||||
@@ -19,7 +21,6 @@ def getrower(user):
|
||||
|
||||
return r
|
||||
|
||||
from django.shortcuts import redirect
|
||||
|
||||
allowed_paths = [
|
||||
'/rowers/me/delete',
|
||||
@@ -44,10 +45,11 @@ class SurveyMiddleWare(object):
|
||||
if request.user.is_authenticated and request.path not in allowed_paths:
|
||||
r = getrower(request.user)
|
||||
nexturl = request.path
|
||||
if 'survey' in nexturl: # pragma: no cover
|
||||
if 'survey' in nexturl: # pragma: no cover
|
||||
nexturl = '/rowers/list-workouts'
|
||||
mustseesurvey = request.user.date_joined <= timezone.now()-datetime.timedelta(days=14) and not r.surveydone
|
||||
if mustseesurvey: # pragma: no cover
|
||||
mustseesurvey = request.user.date_joined <= timezone.now(
|
||||
)-datetime.timedelta(days=14) and not r.surveydone
|
||||
if mustseesurvey: # pragma: no cover
|
||||
return redirect(
|
||||
'/rowers/survey/?next=%s' % nexturl
|
||||
)
|
||||
@@ -56,6 +58,7 @@ class SurveyMiddleWare(object):
|
||||
|
||||
return response
|
||||
|
||||
|
||||
class GDPRMiddleWare(object):
|
||||
def __init__(self, get_response):
|
||||
self.get_response = get_response
|
||||
@@ -64,7 +67,7 @@ class GDPRMiddleWare(object):
|
||||
if request.user.is_authenticated and request.path not in allowed_paths:
|
||||
r = getrower(request.user)
|
||||
nexturl = request.path
|
||||
if 'optin' in nexturl: # pragma: no cover
|
||||
if 'optin' in nexturl: # pragma: no cover
|
||||
nexturl = '/rowers/list-workouts'
|
||||
if not r.gdproptin:
|
||||
return redirect(
|
||||
@@ -75,20 +78,21 @@ class GDPRMiddleWare(object):
|
||||
|
||||
return response
|
||||
|
||||
|
||||
class RowerPlanMiddleWare(object):
|
||||
def __init__(self, get_response):
|
||||
self.get_response = get_response
|
||||
|
||||
def __call__(self, request):
|
||||
if request.user.is_authenticated and request.user.rower.rowerplan not in ['basic','freecoach']:
|
||||
if request.user.is_authenticated and request.user.rower.rowerplan not in ['basic', 'freecoach']:
|
||||
if request.user.rower.paymenttype == 'single':
|
||||
if request.user.rower.planexpires < timezone.now().date(): # pragma: no cover
|
||||
if request.user.rower.planexpires < timezone.now().date(): # pragma: no cover
|
||||
messg = 'Your paid plan has expired. We have reset you to a free basic plan.'
|
||||
messages.error(request,messg)
|
||||
messages.error(request, messg)
|
||||
r = getrower(request.user)
|
||||
r.rowerplan = 'basic'
|
||||
r.paymenttype = 'single'
|
||||
basicplans = PaidPlan.objects.filter(shortname='basic',price=0,
|
||||
basicplans = PaidPlan.objects.filter(shortname='basic', price=0,
|
||||
paymentprocessor='braintree')
|
||||
r.paidplan = basicplans[0]
|
||||
r.save()
|
||||
|
||||
Reference in New Issue
Block a user