kopia lustrzana https://github.com/wagtail/wagtail
ensure admin settings urls start with app label and model name, so they show as highlighted
rodzic
32d6d43692
commit
cc509f226a
|
@ -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])
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
</div>
|
||||
</header>
|
||||
|
||||
<form action="{% url 'wagtailsettings:edit' site.pk opts.app_label opts.model_name %}" method="POST">
|
||||
<form action="{% url 'wagtailsettings:edit' opts.app_label opts.model_name site.pk %}" method="POST">
|
||||
{% csrf_token %}
|
||||
{{ edit_handler.render_form_content }}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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'),
|
||||
]
|
||||
|
|
|
@ -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)
|
||||
|
|
Ładowanie…
Reference in New Issue