|
|
|
|
@ -32,6 +32,7 @@ class LearnerRegistrationView(FormView): |
|
|
|
|
template_name = "auth/registration-learner.html" |
|
|
|
|
|
|
|
|
|
def form_valid(self, form): |
|
|
|
|
config = Config.load() |
|
|
|
|
first_name = form.cleaned_data['first_name'] |
|
|
|
|
last_name = form.cleaned_data['last_name'] |
|
|
|
|
email = form.cleaned_data['email'] |
|
|
|
|
@ -52,21 +53,21 @@ class LearnerRegistrationView(FormView): |
|
|
|
|
user.last_name = last_name |
|
|
|
|
|
|
|
|
|
user.set_password(password) |
|
|
|
|
user.save() |
|
|
|
|
referrer = self.request.session.get('referrer') |
|
|
|
|
if referrer: |
|
|
|
|
Referral.objects.create(referral=user, referrer=referrer, discount=Config.REFERRAL_DISCOUNT, |
|
|
|
|
referrer_cashback=Config.REFERRER_CASHBACK) |
|
|
|
|
Referral.objects.create(referral=user, referrer_id=referrer, discount=config.REFERRAL_DISCOUNT, |
|
|
|
|
referrer_cashback=config.REFERRER_CASHBACK) |
|
|
|
|
# TODO: email admins? мб реферера уже нет, старая ссылка |
|
|
|
|
self.request.session['referrer'] = None |
|
|
|
|
user.save() |
|
|
|
|
login(self.request, user) |
|
|
|
|
|
|
|
|
|
# fixme: change email text |
|
|
|
|
# fixme: async send email |
|
|
|
|
config = Config.load() |
|
|
|
|
refferer = urlsplit(self.request.META.get('HTTP_REFERER')) |
|
|
|
|
refferer = str(refferer[0]) + '://' + str(refferer[1]) |
|
|
|
|
http_referer = urlsplit(self.request.META.get('HTTP_REFERER')) |
|
|
|
|
http_referer = str(http_referer[0]) + '://' + str(http_referer[1]) |
|
|
|
|
token = verification_email_token.make_token(user) |
|
|
|
|
url = refferer + str(reverse_lazy('lilcity:verification-email', args=[token, user.id])) |
|
|
|
|
url = http_referer + str(reverse_lazy('lilcity:verification-email', args=[token, user.id])) |
|
|
|
|
send_email('Вы успешно прошли регистрацию', email, "notification/email/verification_email.html", url=url, config=config) |
|
|
|
|
|
|
|
|
|
return JsonResponse({"success": True}, status=201) |
|
|
|
|
@ -104,6 +105,7 @@ class VerificationEmailView(View): |
|
|
|
|
user.is_email_proved = True |
|
|
|
|
user.save() |
|
|
|
|
login(request, user) |
|
|
|
|
self.request.session['referrer'] = None |
|
|
|
|
return redirect(reverse_lazy('lilcity:success-verification-email')) |
|
|
|
|
else: |
|
|
|
|
return JsonResponse({"success": False}, status=400) |
|
|
|
|
@ -192,6 +194,14 @@ class FacebookLoginOrRegistration(View): |
|
|
|
|
user.photo.save(fname, photo, save=True) |
|
|
|
|
user.save() |
|
|
|
|
|
|
|
|
|
referrer = self.request.session.get('referrer') |
|
|
|
|
if referrer: |
|
|
|
|
config = Config.load() |
|
|
|
|
Referral.objects.create(referral=user, referrer_id=referrer, discount=config.REFERRAL_DISCOUNT, |
|
|
|
|
referrer_cashback=config.REFERRER_CASHBACK) |
|
|
|
|
# TODO: email admins? мб реферера уже нет, старая ссылка |
|
|
|
|
self.request.session['referrer'] = None |
|
|
|
|
|
|
|
|
|
login(requests, user=user) |
|
|
|
|
return JsonResponse({"success": True}) |
|
|
|
|
else: |
|
|
|
|
@ -200,4 +210,5 @@ class FacebookLoginOrRegistration(View): |
|
|
|
|
fname = str(fb_id) + '.jpg' |
|
|
|
|
user.photo.save(fname, photo, save=True) |
|
|
|
|
login(requests, user=user) |
|
|
|
|
self.request.session['referrer'] = None |
|
|
|
|
return JsonResponse({"success": True}) |
|
|
|
|
|