From cc509f226ad24adb5dd233bed6d9402237a0dbd8 Mon Sep 17 00:00:00 2001 From: Matthew Downey Date: Fri, 4 Mar 2016 10:34:45 +1100 Subject: [PATCH] ensure admin settings urls start with app label and model name, so they show as highlighted --- wagtail/contrib/settings/forms.py | 2 +- .../contrib/settings/templates/wagtailsettings/edit.html | 2 +- wagtail/contrib/settings/tests/test_admin.py | 6 +++--- wagtail/contrib/settings/urls.py | 2 +- wagtail/contrib/settings/views.py | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/wagtail/contrib/settings/forms.py b/wagtail/contrib/settings/forms.py index c44c1123d4..0eaa2425ea 100644 --- a/wagtail/contrib/settings/forms.py +++ b/wagtail/contrib/settings/forms.py @@ -24,4 +24,4 @@ class SiteSwitchForm(forms.Form): @classmethod def get_change_url(cls, site, model): return reverse('wagtailsettings:edit', args=[ - site.pk, model._meta.app_label, model._meta.model_name]) + model._meta.app_label, model._meta.model_name, site.pk]) diff --git a/wagtail/contrib/settings/templates/wagtailsettings/edit.html b/wagtail/contrib/settings/templates/wagtailsettings/edit.html index a6165fba86..6ece6bbc99 100644 --- a/wagtail/contrib/settings/templates/wagtailsettings/edit.html +++ b/wagtail/contrib/settings/templates/wagtailsettings/edit.html @@ -26,7 +26,7 @@ -
+ {% csrf_token %} {{ edit_handler.render_form_content }} diff --git a/wagtail/contrib/settings/tests/test_admin.py b/wagtail/contrib/settings/tests/test_admin.py index 360d442501..6358837333 100644 --- a/wagtail/contrib/settings/tests/test_admin.py +++ b/wagtail/contrib/settings/tests/test_admin.py @@ -54,7 +54,7 @@ class BaseTestSettingView(TestCase, WagtailTestUtils): return self.client.post(url, post_data) def edit_url(self, app, model, site_pk=1): - return reverse('wagtailsettings:edit', args=[site_pk, app, model]) + return reverse('wagtailsettings:edit', args=[app, model, site_pk]) class TestSettingCreateView(BaseTestSettingView): @@ -134,7 +134,7 @@ class TestMultiSite(BaseTestSettingView): start_url = reverse('wagtailsettings:edit', args=[ 'tests', 'testsetting']) dest_url = 'http://testserver' + reverse('wagtailsettings:edit', args=[ - self.default_site.pk, 'tests', 'testsetting']) + 'tests', 'testsetting', self.default_site.pk]) response = self.client.get(start_url, follow=True) self.assertRedirects(response, dest_url, status_code=302, fetch_redirect_response=False) @@ -146,7 +146,7 @@ class TestMultiSite(BaseTestSettingView): start_url = reverse('wagtailsettings:edit', args=[ 'tests', 'testsetting']) dest_url = 'http://example.com' + reverse('wagtailsettings:edit', args=[ - self.other_site.pk, 'tests', 'testsetting']) + 'tests', 'testsetting', self.other_site.pk]) response = self.client.get(start_url, follow=True, HTTP_HOST=self.other_site.hostname) self.assertRedirects(response, dest_url, status_code=302, fetch_redirect_response=False) diff --git a/wagtail/contrib/settings/urls.py b/wagtail/contrib/settings/urls.py index aa834781f4..1a71db21a8 100644 --- a/wagtail/contrib/settings/urls.py +++ b/wagtail/contrib/settings/urls.py @@ -6,5 +6,5 @@ from . import views urlpatterns = [ url(r'^(\w+)/(\w+)/$', views.edit_current_site, name='edit'), - url(r'^(\d+)/(\w+)/(\w+)/$', views.edit, name='edit'), + url(r'^(\w+)/(\w+)/(\d+)/$', views.edit, name='edit'), ] diff --git a/wagtail/contrib/settings/views.py b/wagtail/contrib/settings/views.py index a6a9c33d07..f6cb488c51 100644 --- a/wagtail/contrib/settings/views.py +++ b/wagtail/contrib/settings/views.py @@ -38,10 +38,10 @@ def edit_current_site(request, app_name, model_name): # Redirect the user to the edit page for the current site # (or the current request does not correspond to a site, the first site in the list) site = request.site or Site.objects.first() - return redirect('wagtailsettings:edit', site.pk, app_name, model_name) + return redirect('wagtailsettings:edit', app_name, model_name, site.pk) -def edit(request, site_pk, app_name, model_name): +def edit(request, app_name, model_name, site_pk): model = get_model_from_url_params(app_name, model_name) if not user_can_edit_setting_type(request.user, model): raise PermissionDenied @@ -66,7 +66,7 @@ def edit(request, site_pk, app_name, model_name): instance=instance ) ) - return redirect('wagtailsettings:edit', site.pk, app_name, model_name) + return redirect('wagtailsettings:edit', app_name, model_name, site.pk) else: messages.error(request, _("The setting could not be saved due to errors.")) edit_handler = edit_handler_class(instance=instance, form=form)