From 4ea87f441c5f399d2656b6957952b43271429506 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Thu, 19 Apr 2018 14:28:46 +0300 Subject: [PATCH] Fix urls --- apps/auth/views.py | 11 +++++------ apps/payment/views.py | 9 +++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/auth/views.py b/apps/auth/views.py index d0fa298f..768dd188 100644 --- a/apps/auth/views.py +++ b/apps/auth/views.py @@ -1,4 +1,5 @@ from uuid import uuid4 +from urllib.parse import urlsplit from facepy import GraphAPI from facepy.exceptions import FacepyError @@ -48,9 +49,8 @@ class LearnerRegistrationView(FormView): # fixme: change email text # fixme: async send email - refferer = self.request.META.get('HTTP_REFERER') - if refferer.endswith('/'): - refferer = refferer[:-1] + refferer = urlsplit(self.request.META.get('HTTP_REFERER')) + refferer = refferer[0] + '://' + refferer[1] token = verification_email_token.make_token(user) url = refferer + str(reverse_lazy('lilcity:verification-email', args=[token])) send_email('Verification Email', email, "notification/email/verification_email.html", url=url) @@ -109,9 +109,8 @@ class PasswordResetView(views.PasswordContextMixin, BaseFormView): token_generator = views.default_token_generator def form_valid(self, form): - refferer = self.request.META.get('HTTP_REFERER') - if refferer.endswith('/'): - refferer = refferer[:-1] + refferer = urlsplit(self.request.META.get('HTTP_REFERER')) + refferer = refferer[0] + '://' + refferer[1] opts = { 'domain_override': refferer, 'use_https': self.request.is_secure(), diff --git a/apps/payment/views.py b/apps/payment/views.py index 7367d810..2a3d5286 100644 --- a/apps/payment/views.py +++ b/apps/payment/views.py @@ -2,6 +2,7 @@ import logging import json from datetime import timedelta +from urllib.parse import urlsplit from django.contrib import messages from django.contrib.auth.decorators import login_required @@ -43,7 +44,8 @@ class CourseBuyView(TemplateView): template_name = 'payment/paymentwall_widget.html' def get(self, request, pk=None, *args, **kwargs): - host = request.scheme + '://' + request.get_host() + host = urlsplit(self.request.META.get('HTTP_REFERER')) + host = host[0] + '://' + host[1] course = Course.objects.get(id=pk) if request.user == course.author: messages.error(request, 'Вы не можете приобрести свой курс.') @@ -79,9 +81,8 @@ class SchoolBuyView(TemplateView): template_name = 'payment/paymentwall_widget.html' def get(self, request, *args, **kwargs): - host = self.request.META.get('HTTP_REFERER') - if host.endswith('/'): - host = host[:-1] + host = urlsplit(self.request.META.get('HTTP_REFERER')) + host = host[0] + '://' + host[1] weekdays = set(request.GET.getlist('weekdays', [])) if not weekdays: messages.error(request, 'Выберите несколько дней недели.')