Fixed #14012 (again) -- Admin app: Don't show the full user edition view after adding a user in a FK popup. Thanks dburke for reporting this regression introduced in r14628.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15637 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
12bd7bcb35
commit
4b13e76deb
|
@ -142,9 +142,12 @@ class UserAdmin(admin.ModelAdmin):
|
|||
its superclass implementation but is customized because the User model
|
||||
has a slightly different workflow.
|
||||
"""
|
||||
if '_addanother' not in request.POST:
|
||||
# The 'Save' button should act like the 'Save and continue
|
||||
# editing' button
|
||||
# We should allow further modification of the user just added i.e. the
|
||||
# 'Save' button should behave like the 'Save and continue editing'
|
||||
# button except in two scenarios:
|
||||
# * The user has pressed the 'Save and add another' button
|
||||
# * We are adding a user in a popup
|
||||
if '_addanother' not in request.POST and '_popup' not in request.POST:
|
||||
request.POST['_continue'] = 1
|
||||
return super(UserAdmin, self).response_add(request, obj, post_url_continue)
|
||||
|
||||
|
|
|
@ -2637,13 +2637,25 @@ class UserAdminTest(TestCase):
|
|||
[u"The two password fields didn't match."])
|
||||
|
||||
def test_user_fk_popup(self):
|
||||
"""Quick user addition in a FK popup shouldn't invoke view for further user customization"""
|
||||
response = self.client.get('/test_admin/admin/admin_views/album/add/')
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertContains(response, '/test_admin/admin/auth/user/add')
|
||||
self.assertContains(response, 'class="add-another" id="add_id_owner" onclick="return showAddAnotherPopup(this);"')
|
||||
response = self.client.get('/test_admin/admin/auth/user/add/?_popup=1')
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertNotContains(response, 'name="_continue"')
|
||||
self.assertNotContains(response, 'name="_addanother"')
|
||||
data = {
|
||||
'username': 'newuser',
|
||||
'password1': 'newpassword',
|
||||
'password2': 'newpassword',
|
||||
'_popup': '1',
|
||||
'_save': '1',
|
||||
}
|
||||
response = self.client.post('/test_admin/admin/auth/user/add/?_popup=1', data, follow=True)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertContains(response, 'dismissAddAnotherPopup')
|
||||
|
||||
def test_save_add_another_button(self):
|
||||
user_count = User.objects.count()
|
||||
|
|
Loading…
Reference in New Issue