Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Unable to redirect to @login_required URL in django_webtest case
- def _redirect_path(referrer, restricted_paths=()):
- if not referrer or referrer in (reverse(name) for name in restricted_paths):
- return reverse('home')
- else:
- return referrer
- ...
- def sign_up(request):
- if request.user.is_authenticated():
- return redirect(reverse('home'))
- if request.method == 'POST':
- form = forms.SignUpForm(request.POST)
- if form.is_valid():
- with transaction.commit_on_success():
- user = form.save()
- profile = Profile.objects.create(user=user)
- tokens.create_token(profile, 'unsubscribe')
- mail.send_welcome_letter(request, user)
- messages.success(request, _('You have successfully signed up. Welcome!'))
- authenticated_user = auth.authenticate(username=user.username, password=form.cleaned_data['password'])
- if authenticated_user:
- auth.login(request, authenticated_user)
- remember_user(request, authenticated_user)
- redirect_path = _redirect_path(form.clean_referrer(), ('password_reset', 'sign_up'))
- return redirect(redirect_path)
- else:
- raise Exception("Newly created user couldn't be authenticated.")
- else:
- referrer = request.GET.get('next')
- form = forms.SignUpForm(initial={'referrer': referrer})
- return render_to_response('sign_up.html', {'form': form}, context_instance=RequestContext(request))
- def test_user_creation_redirect_to_settings(self):
- form = self.app.get('/sign_up/', {'next': '/settings/'}).form
- self.fill_sign_up_form(form)
- submit_response = form.submit()
- self.assertRedirects(submit_response, '/settings/')
- def test_user_creation_redirect_to_settings(self):
- form = self.app.get('/sign_up/', {'next': '/settings/'}).form
- self.fill_sign_up_form(form)
- submit_response = form.submit()
- submit_response.client.login(username='User', password='secret')
- self.assertRedirects(submit_response, '/settings/')
- def test_user_creation_redirect_to_settings(self):
- form = self.app.get('/sign_up/', {'next': '/settings/'}).form
- self.fill_sign_up_form(form)
- submit_response = form.submit()
- inside = self.client.login(username='User', password='secret')
- print inside and 'Login successful in self client'
- print 'Authenticated: %s' % bool('_auth_user_id' in self.client.session)
- inside = submit_response.client.login(username='User', password='secret')
- print inside and 'Login successful in response client'
- print 'Authenticated: %s' % bool('_auth_user_id' in submit_response.client.session)
- form.submit().follow()
- form.submit().follow()
Add Comment
Please, Sign In to add comment