def sudo(request, template_name='sudo/sudo.html', extra_context=None): """ The default view for the sudo mode page. The role of this page is to prompt the user for their password again, and if successful, redirect them back to ``next``. """ redirect_to = request.REQUEST.get(REDIRECT_FIELD_NAME, REDIRECT_URL) # Make sure we're not redirecting to other sites if not is_safe_url(url=redirect_to, host=request.get_host()): redirect_to = resolve_url(REDIRECT_URL) if request.is_sudo(): return HttpResponseRedirect(redirect_to) form = SudoForm(request.user, request.POST or None) if request.method == 'POST': if form.is_valid(): grant_sudo_privileges(request) return HttpResponseRedirect(redirect_to) context = { 'form': form, REDIRECT_FIELD_NAME: redirect_to, } if extra_context is not None: context.update(extra_context) return TemplateResponse(request, template_name, context)
def test_integration_custom_user(self): self.login(EmailUser) self.assertTrue(SudoForm(self.user, {"password": "******"}).is_valid())
def test_clean_password_secondary_auth_valid_password(self): password = "******" self.assertEqual( SudoForm(self.user, { "password": password }).clean_password(), password)
def test_clean_password_valid_password(self): password = "******" self.assertEqual( SudoForm(self.user, { "password": password }).clean_password(), password)
def test_clean_password_invalid_password(self): with self.assertRaises(ValidationError): SudoForm(self.user, {"password": "******"}).clean_password()
def test_integration_secondary_auth_valid_password(self): self.assertTrue(SudoForm(self.user, {"password": "******"}).is_valid())
def test_integration_valid_password(self): self.assertTrue(SudoForm(self.user, {"password": "******"}).is_valid())
def test_integration_invalid_password(self): self.assertFalse(SudoForm(self.user, {"password": "******"}).is_valid())
def test_integration_empty(self): self.assertFalse(SudoForm(self.user).is_valid())
def test_clean_password_secondary_auth_valid_password(self): password = '******' self.assertEqual( SudoForm(self.user, {'password': password}).clean_password(), password )
def test_clean_password_valid_password(self): password = '******' self.assertEqual( SudoForm(self.user, {'password': password}).clean_password(), password )
def test_integration_valid_password(self): self.assertTrue( SudoForm(self.user, {'password': '******'}).is_valid() )
def test_integration_invalid_password(self): self.assertFalse( SudoForm(self.user, {'password': '******'}).is_valid() )