manager: add edit page for "exclude from navigation" attribute (#10991)
This commit is contained in:
parent
0aa27b6a62
commit
b9b93e0034
|
@ -76,5 +76,11 @@ class PageEditRedirectionForm(forms.ModelForm):
|
|||
fields = ('redirect_url',)
|
||||
|
||||
|
||||
class PageEditExcludeFromNavigationForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Page
|
||||
fields = ('exclude_from_navigation',)
|
||||
|
||||
|
||||
class SiteImportForm(forms.Form):
|
||||
site_json = forms.FileField(_('Site Export File'))
|
||||
|
|
|
@ -49,6 +49,12 @@
|
|||
(<a rel="popup" href="{% url 'combo-manager-page-visibility' pk=object.id %}">{% trans 'change' %}</a>)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label>{% trans 'Exclude from navigation:' %}</label>
|
||||
{% if object.exclude_from_navigation %}{% trans 'yes' %}{% else %}{% trans 'no' %}{% endif %}
|
||||
(<a rel="popup" href="{% url 'combo-manager-page-edit-exclude-from-navigation' pk=object.id %}">{% trans 'change' %}</a>)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label>{% trans 'Redirection:' %}</label>
|
||||
{% if object.redirect_url %}{{ object.redirect_url }}{% else %}<i>{% trans 'none' %}</i>{% endif %}
|
||||
|
|
|
@ -33,6 +33,8 @@ urlpatterns = patterns('combo.views',
|
|||
name='combo-manager-page-visibility'),
|
||||
url(r'^pages/(?P<pk>\w+)/redirection$', views.page_edit_redirection,
|
||||
name='combo-manager-page-edit-redirection'),
|
||||
url(r'^pages/(?P<pk>\w+)/exclude-from-navigation$', views.page_edit_exclude_from_navigation,
|
||||
name='combo-manager-page-edit-exclude-from-navigation'),
|
||||
url(r'^pages/(?P<pk>\w+)/slug$', views.page_edit_slug,
|
||||
name='combo-manager-page-edit-slug'),
|
||||
url(r'^pages/(?P<pk>\w+)/title$', views.page_edit_title,
|
||||
|
|
|
@ -36,7 +36,8 @@ from combo.data.library import get_cell_class
|
|||
from combo import plugins
|
||||
|
||||
from .forms import (PageEditTitleForm, PageVisibilityForm, SiteImportForm,
|
||||
PageEditRedirectionForm, PageSelectTemplateForm, PageEditSlugForm)
|
||||
PageEditRedirectionForm, PageSelectTemplateForm, PageEditSlugForm,
|
||||
PageEditExcludeFromNavigationForm)
|
||||
|
||||
|
||||
class HomepageView(ListView):
|
||||
|
@ -114,6 +115,12 @@ class PageEditRedirectionView(PageEditView):
|
|||
page_edit_redirection = PageEditRedirectionView.as_view()
|
||||
|
||||
|
||||
class PageEditExcludeFromNavigationView(PageEditView):
|
||||
form_class = PageEditExcludeFromNavigationForm
|
||||
|
||||
page_edit_exclude_from_navigation = PageEditExcludeFromNavigationView.as_view()
|
||||
|
||||
|
||||
class PageEditSlugView(PageEditView):
|
||||
form_class = PageEditSlugForm
|
||||
|
||||
|
|
|
@ -91,6 +91,21 @@ def test_edit_page(app, admin_user):
|
|||
resp = resp.follow()
|
||||
assert Page.objects.all()[0].template_name == 'standard-sidebar'
|
||||
assert resp.click(href='.*/template').form['template_name'].value == 'standard-sidebar'
|
||||
# redirection
|
||||
resp = resp.click(href='.*/redirection')
|
||||
resp.form['redirect_url'].value = 'http://www.example.net'
|
||||
resp = resp.form.submit()
|
||||
resp = resp.follow()
|
||||
assert 'http://www.example.net' in resp.body
|
||||
assert Page.objects.all()[0].redirect_url == 'http://www.example.net'
|
||||
# exclude from nav
|
||||
resp = resp.click(href='.*/exclude-from-navigation')
|
||||
resp.form['exclude_from_navigation'].checked = True
|
||||
resp = resp.form.submit()
|
||||
resp = resp.follow()
|
||||
assert Page.objects.all()[0].exclude_from_navigation is True
|
||||
|
||||
|
||||
|
||||
def test_delete_page(app, admin_user):
|
||||
Page.objects.all().delete()
|
||||
|
|
Loading…
Reference in New Issue