diff options
| author | Loic Bistuer <loic.bistuer@gmail.com> | 2014-03-28 21:42:58 +0700 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-03-31 07:29:08 -0400 |
| commit | a5297c1ef4c4c010d1eb979177d4633beb5f9cad (patch) | |
| tree | 7ee57b20b4479d093527e47178486198ee68616a /tests/admin_views/tests.py | |
| parent | 916f0de74ba00f65cc789c075ce94f7fba858976 (diff) | |
[1.6.x] Fixed #21795 -- Made add_preserved_filters account for url prefixes.
Thanks to trac username honyczek for the report. Refs #6903.
Backport of 4339e9a92d from master
Diffstat (limited to 'tests/admin_views/tests.py')
| -rw-r--r-- | tests/admin_views/tests.py | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py index f26b0ab01b..0fbf118e33 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -9,17 +9,18 @@ from django.conf import settings, global_settings from django.core import mail from django.core.exceptions import ImproperlyConfigured from django.core.files import temp as tempfile -from django.core.urlresolvers import reverse +from django.core.urlresolvers import get_script_prefix, reverse, set_script_prefix # Register auth models with the admin. from django.contrib import admin from django.contrib.auth import get_permission_codename from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME from django.contrib.admin.models import LogEntry, DELETION from django.contrib.admin.sites import LOGIN_FORM_KEY +from django.contrib.admin.templatetags.admin_urls import add_preserved_filters +from django.contrib.admin.tests import AdminSeleniumWebDriverTestCase from django.contrib.admin.util import quote from django.contrib.admin.validation import ModelAdminValidator from django.contrib.admin.views.main import IS_POPUP_VAR -from django.contrib.admin.tests import AdminSeleniumWebDriverTestCase from django.contrib.auth import REDIRECT_FIELD_NAME from django.contrib.auth.models import Group, User, Permission from django.contrib.contenttypes.models import ContentType @@ -4224,11 +4225,14 @@ class AdminKeepChangeListFiltersTests(TestCase): def tearDown(self): self.client.logout() - def get_changelist_filters_querystring(self): - return urlencode({ + def get_changelist_filters(self): + return { 'is_superuser__exact': 0, 'is_staff__exact': 0, - }) + } + + def get_changelist_filters_querystring(self): + return urlencode(self.get_changelist_filters()) def get_preserved_filters_querystring(self): return urlencode({ @@ -4370,6 +4374,30 @@ class AdminKeepChangeListFiltersTests(TestCase): response = self.client.post(self.get_delete_url(), {'post': 'yes'}) self.assertRedirects(response, self.get_changelist_url()) + def test_url_prefix(self): + context = { + 'preserved_filters': self.get_preserved_filters_querystring(), + 'opts': User._meta, + } + + url = reverse('admin:auth_user_changelist', current_app=self.admin_site.name) + self.assertEqual( + self.get_changelist_url(), + add_preserved_filters(context, url), + ) + + original_prefix = get_script_prefix() + try: + set_script_prefix('/prefix/') + url = reverse('admin:auth_user_changelist', current_app=self.admin_site.name) + self.assertEqual( + self.get_changelist_url(), + add_preserved_filters(context, url), + ) + finally: + set_script_prefix(original_prefix) + + class NamespacedAdminKeepChangeListFiltersTests(AdminKeepChangeListFiltersTests): admin_site = site2 |
