From ce22f51207f81fba30deea63458fef6f1b8ec49f Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Wed, 31 Mar 2021 10:26:11 +0200 Subject: [PATCH] email confirmation for new coach users --- rowers/views/paymentviews.py | 55 +++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/rowers/views/paymentviews.py b/rowers/views/paymentviews.py index d4b431eb..8dd72317 100644 --- a/rowers/views/paymentviews.py +++ b/rowers/views/paymentviews.py @@ -733,6 +733,10 @@ def useractivate(request, uidb64, token): d = {'first_name':user.first_name} + template = 'registeremail.html' + if user.rower.rowerplan == 'freecoach': + template = 'coachregisteremail.html' + send_template_email(from_address,[fullemail], subject,'registeremail.html',d) @@ -742,13 +746,19 @@ def useractivate(request, uidb64, token): message2 += fullemail + "\n" message2 += "User name: "+user.username + if user.rower.rowerplan == 'freecoach': + subject2 = "New Free Coach User" + + send_mail(subject2, message2, 'Rowsandall Server ', ['roosendaalsander@gmail.com']) - messages.info(request,'Thank you for your email confirmation. Now you can login your account.') + messages.info(request,'Thank you for your email confirmation. Now you can login to your account.') url = '/login/' + if user.rower.rowerplan == 'freecoach': + url+='?next=/rowers/me/teams' return HttpResponseRedirect(url) else: return HttpResponse('Activation link is invalid!') @@ -890,29 +900,28 @@ def freecoach_register_view(request): # create default favorite charts add_defaultfavorites(therower) - # Create and send email - fullemail = first_name + " " + last_name + " " + "<" + email + ">" - subject = "Thank you for registering on rowsandall.com" - from_address = 'Sander Roosendaal ' - - d = {'first_name':theuser.first_name} - - send_template_email(from_address,[fullemail], - subject,'coachregisteremail.html',d) - - - subject2 = "New Free Coach" - message2 = "New Free Coach registered.\n" - message2 += fullemail + "\n" - message2 += "User name: "+username - - send_mail(subject2, message2, - 'Rowsandall Server ', - ['roosendaalsander@gmail.com']) - - theuser = authenticate(username=username,password=password) - login(request,theuser) + current_site = get_current_site(request) + mail_subject = 'Activate your account.' + d = { + 'user': theuser, + 'domain': current_site.domain, + 'uid': urlsafe_base64_encode(force_bytes(theuser.id)).decode(), + 'token': account_activation_token.make_token(theuser), + } + to_email = form.cleaned_data.get('email') + message = render_to_string('acc_activate_email.html', { + 'user': theuser, + 'domain': current_site.domain, + 'uid': urlsafe_base64_encode(force_bytes(theuser.id)).decode(), + 'token': account_activation_token.make_token(theuser), + }) + to_email = form.cleaned_data.get('email') + email = EmailMessage( + mail_subject, message, to=[to_email] + ) + email.send() + return HttpResponse('Please confirm your email address to complete the registration') return HttpResponseRedirect(nextpage)