automatic expiry of non-recurring users
This commit is contained in:
@@ -5,8 +5,9 @@ import datetime
|
||||
from utils import myqueue
|
||||
import django_rq
|
||||
queue = django_rq.get_queue('default')
|
||||
from rowers.tasks import handle_updatefitnessmetric
|
||||
from rowers.tasks import handle_updatefitnessmetric,handle_sendemail_expired
|
||||
from rowers.mytypes import otwtypes
|
||||
from django.contrib import messages
|
||||
|
||||
def getrower(user):
|
||||
try:
|
||||
@@ -101,3 +102,24 @@ class GDPRMiddleWare(object):
|
||||
return redirect(
|
||||
'/rowers/me/gdpr-optin/?next=%s' % nexturl
|
||||
)
|
||||
|
||||
class RowerPlanMiddleWare(object):
|
||||
def process_request(self, request):
|
||||
if request.user.is_authenticated() and request.user.rower.rowerplan != 'basic':
|
||||
if request.user.rower.paymenttype == 'single':
|
||||
if request.user.rower.planexpires < timezone.now().date():
|
||||
messg = 'Your paid plan has expired. We have reset you to a free basic plan.'
|
||||
messages.error(request,messg)
|
||||
r = getrower(request.user)
|
||||
r.rowerplan = 'basic'
|
||||
r.save()
|
||||
# send email
|
||||
job = myqueue(queue,
|
||||
handle_sendemail_expired,
|
||||
r.user.email,
|
||||
r.user.first_name,
|
||||
r.user.last_name,
|
||||
str(r.planexpires))
|
||||
elif request.user.rower.planexpires-datetime.timedelta(days=5)<timezone.now().date():
|
||||
messg = 'Your paid plan will expire soon. Your account will be reset to basic on %d' % request.user.rower.planexpires
|
||||
messages.info(request,messg)
|
||||
|
||||
Reference in New Issue
Block a user