diff --git a/devel/models.py b/devel/models.py new file mode 100644 index 00000000..e69de29b diff --git a/devel/tests.py b/devel/tests.py new file mode 100644 index 00000000..682f3d92 --- /dev/null +++ b/devel/tests.py @@ -0,0 +1,39 @@ +from django.test import TestCase + + +class DevelTest(TestCase): + + def test_index(self): + response = self.client.get('/devel/') + self.assertEqual(response.status_code, 302) + self.assertEqual(response.has_header('Location'), True) + self.assertEqual(response['location'], + 'http://testserver/login/?next=/devel/') + + def test_notify(self): + response = self.client.get('/devel/notify/') + self.assertEqual(response.status_code, 302) + self.assertEqual(response.has_header('Location'), True) + self.assertEqual(response['location'], + 'http://testserver/login/?next=/devel/notify/') + + def test_profile(self): + response = self.client.get('/devel/profile/') + self.assertEqual(response.status_code, 302) + self.assertEqual(response.has_header('Location'), True) + self.assertEqual(response['location'], + 'http://testserver/login/?next=/devel/profile/') + + def test_newuser(self): + response = self.client.get('/devel/newuser/') + self.assertEqual(response.status_code, 302) + self.assertEqual(response.has_header('Location'), True) + self.assertEqual(response['location'], + 'http://testserver/login/?next=/devel/newuser/') + + def test_mirrors(self): + response = self.client.get('/mirrors/') + self.assertEqual(response.status_code, 302) + self.assertEqual(response.has_header('Location'), True) + self.assertEqual(response['location'], + 'http://testserver/login/?next=/mirrors/') diff --git a/devel/views.py b/devel/views.py index 4d0a0cc2..7e5f79ae 100644 --- a/devel/views.py +++ b/devel/views.py @@ -1,6 +1,6 @@ from django import forms from django.http import HttpResponseRedirect -from django.contrib.auth.decorators import login_required +from django.contrib.auth.decorators import login_required, user_passes_test from django.contrib.auth.models import User from django.shortcuts import render_to_response from django.template import RequestContext @@ -105,10 +105,8 @@ def save(self): [user.email], fail_silently=False) +@user_passes_test(lambda u: u.is_superuser) def new_user_form(request): - if not request.user.is_superuser: - return HttpResponseRedirect('/login/') - if request.POST: form = NewUserForm(request.POST) if form.is_valid():