Commit 2ab3b52d authored by Russell Keith-Magee's avatar Russell Keith-Magee
Browse files

Fixed #14012 -- Corrected the handling of the create user popup dialog in the...

Fixed #14012 -- Corrected the handling of the create user popup dialog in the admin. Thanks to gk@lka.hu for the report, and Ramiro Morales for the patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@13501 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent f90a2555
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2,8 +2,12 @@
{% load i18n %}

{% block form_top %}
  {% if not is_popup %}
    <p>{% trans "First, enter a username and password. Then, you'll be able to edit more user options." %}</p>
    <input type="hidden" name="_continue" value="1" />
  {% else %}
    <p>{% trans "Enter a username and password." %}</p>
  {% endif %}
{% endblock %}

{% block after_field_sets %}
+6 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ from django.core.mail import EmailMessage
from django.db import models
from django import forms
from django.forms.models import BaseModelFormSet
from django.contrib.auth.models import User
from django.contrib.contenttypes import generic
from django.contrib.contenttypes.models import ContentType

@@ -579,6 +580,10 @@ class Pizza(models.Model):
class PizzaAdmin(admin.ModelAdmin):
    readonly_fields = ('toppings',)

class Album(models.Model):
    owner = models.ForeignKey(User)
    title = models.CharField(max_length=30)

admin.site.register(Article, ArticleAdmin)
admin.site.register(CustomArticle, CustomArticleAdmin)
admin.site.register(Section, save_as=True, inlines=[ArticleInline])
@@ -625,3 +630,4 @@ admin.site.register(Promo)
admin.site.register(ChapterXtra1)
admin.site.register(Pizza, PizzaAdmin)
admin.site.register(Topping)
admin.site.register(Album)
+10 −4
Original line number Diff line number Diff line
@@ -2113,11 +2113,9 @@ class ReadonlyTest(TestCase):
        response = self.client.get('/test_admin/admin/admin_views/pizza/add/')
        self.assertEqual(response.status_code, 200)

class IncompleteFormTest(TestCase):
class UserAdminTest(TestCase):
    """
    Tests validation of a ModelForm that doesn't explicitly have all data
    corresponding to model fields. Model validation shouldn't fail
    such a forms.
    Tests user CRUD functionality.
    """
    fixtures = ['admin-views-users.xml']

@@ -2149,3 +2147,11 @@ class IncompleteFormTest(TestCase):
        self.assert_('password' not in adminform.form.errors)
        self.assertEquals(adminform.form.errors['password2'],
                          [u"The two password fields didn't match."])

    def test_user_fk_popup(self):
        response = self.client.get('/test_admin/admin/admin_views/album/add/')
        self.failUnlessEqual(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.assertNotContains(response, 'name="_continue"')