def get_redirect_url(request, redirect_field_name): redirect_url = settings.DEFAULT_REDIRECT_URL redirect_param_value = get_request_param(request, redirect_field_name) if redirect_param_value: if is_valid_redirect(urllib.parse.unquote(redirect_param_value)): redirect_url = redirect_param_value return redirect_url
def get_context_data(self, **kwargs): ret = super(SignupView, self).get_context_data(**kwargs) form = ret['form'] email = self.request.session.get('account_verified_email') if email: email_keys = ['email'] if app_settings.SIGNUP_EMAIL_ENTER_TWICE: email_keys.append('email2') for email_key in email_keys: form.fields[email_key].initial = email login_url = passthrough_next_redirect_url(self.request, reverse("account_login"), self.redirect_field_name) redirect_field_name = self.redirect_field_name redirect_field_value = get_request_param(self.request, redirect_field_name) ret.update({ 'login_url': login_url, 'redirect_field_name': redirect_field_name, 'redirect_field_value': redirect_field_value, 'cart': get_cart(self.request), }) return ret
def get_email_confirmation_url(self, request, emailconfirmation): """ Constructs the email confirmation (activation) url. """ redirect_url = settings.DEFAULT_REDIRECT_URL redirect_param_value = get_request_param(request, settings.REDIRECT_FIELD_NAME) if redirect_param_value: redirect_url = redirect_param_value email_confirmation_url = super().get_email_confirmation_url( request, emailconfirmation) if redirect_url: if is_valid_redirect(urllib.parse.unquote(redirect_url)): # This is to handle the case when user registered on one device # (e.g. desktop) and clicked 'confirm email' on another (e.g. # mobile) - if user is automatically logged in on confirm # (which will happen when clicking confirm on same machine) # login view will redirect to 'next', if not (when switching # browsers), user will have to log in and then will be # redirected login_url_with_next = get_url_with_redirect( url=reverse('account_login'), redirect_url=redirect_url) email_confirmation_url = get_url_with_redirect( url=email_confirmation_url, redirect_url=login_url_with_next) return email_confirmation_url
def get_context_data(self, **kwargs): ret = super(LoginView, self).get_context_data(**kwargs) signup_url = passthrough_next_redirect_url(self.request, reverse('account_signup'), self.redirect_field_name) redirect_field_value = get_request_param(self.request, self.redirect_field_name) site = get_current_site(self.request) ret.update({ 'signup_url': signup_url, 'site': site, 'redirect_field_name': self.redirect_field_name, 'redirect_field_value': redirect_field_value, 'cart': get_cart(self.request), 'cart_count': Cart_Item.objects.filter(cart=get_cart(self.request)).aggregate( Sum('quantity'))['quantity__sum'], 'in_bar': get_in_barrels(), 'wishlist_count': len( Wishlist_Item.objects.filter( wishlist=get_wishlist(self.request))), }) return ret
def get_context_data(self, **kwargs): ret = super(LoginView, self).get_context_data(**kwargs) signup_url = passthrough_next_redirect_url(self.request, reverse('account_signup'), self.redirect_field_name) redirect_field_value = get_request_param(self.request, self.redirect_field_name) site = get_current_site(self.request) ret.update({ 'signup_url': signup_url, 'site': site, 'redirect_field_name': self.redirect_field_name, 'redirect_field_value': redirect_field_value, 'cart': get_cart(self.request), }) return ret
def get_context_data(self, **kwargs): ret = super(SignupView, self).get_context_data(**kwargs) form = ret['form'] email = self.request.session.get('account_verified_email') if email: email_keys = ['email'] if app_settings.SIGNUP_EMAIL_ENTER_TWICE: email_keys.append('email2') for email_key in email_keys: form.fields[email_key].initial = email login_url = passthrough_next_redirect_url(self.request, reverse("account_login"), self.redirect_field_name) redirect_field_name = self.redirect_field_name redirect_field_value = get_request_param(self.request, redirect_field_name) ret.update({ 'login_url': login_url, 'redirect_field_name': redirect_field_name, 'redirect_field_value': redirect_field_value, 'cart': get_cart(self.request), 'cart_count': Cart_Item.objects.filter(cart=get_cart(self.request)).aggregate( Sum('quantity'))['quantity__sum'], 'in_bar': get_in_barrels(), 'wishlist_count': len( Wishlist_Item.objects.filter( wishlist=get_wishlist(self.request))), }) return ret
def get_redirect_url(self): redirect_to = get_request_param(self.request, self.redirect_field_name) if redirect_to and validate_next(redirect_to): return redirect_to return settings.LOGOUT_REDIRECT_URL