0002-manager-mention-on-home-page-if-a-page-is-in-menu-51.patch
combo/data/models.py | ||
---|---|---|
423 | 423 |
def is_visible(self, user=None, ignore_superuser=False): |
424 | 424 |
return element_is_visible(self, user=user, ignore_superuser=ignore_superuser) |
425 | 425 | |
426 |
def extra_labels(self): |
|
427 |
extra_labels = [] |
|
428 |
if not self.exclude_from_navigation: |
|
429 |
extra_labels.append(_('navigation')) |
|
430 |
if self.redirect_url: |
|
431 |
extra_labels.append(_('redirection')) |
|
432 |
return extra_labels |
|
433 | ||
426 | 434 |
def get_cells(self): |
427 | 435 |
return CellBase.get_cells(page=self) |
428 | 436 |
combo/manager/templates/combo/manager_home.html | ||
---|---|---|
34 | 34 |
<span class="group1"> |
35 | 35 |
<a href="{% url 'combo-manager-page-view' pk=page.id %}"> |
36 | 36 |
{{ page.title }} |
37 |
{% if page.redirect_url %} <span>({% trans "redirection" %})</span>{% endif %}
|
|
37 |
{% for label in page.extra_labels %}{% if forloop.first %}<span>({% endif %}{{ label }}{% if forloop.last %})</span>{% else %}, {% endif %}{% endfor %}
|
|
38 | 38 |
</a> |
39 | 39 |
</span> |
40 | 40 |
{% if not page.public %} |
tests/test_manager.py | ||
---|---|---|
99 | 99 |
assert '(redirection)' in resp |
100 | 100 | |
101 | 101 | |
102 |
def test_pages_in_menu(app, admin_user): |
|
103 |
page = Page.objects.create(title='One', slug='one') |
|
104 | ||
105 |
app = login(app) |
|
106 |
resp = app.get('/manage/') |
|
107 |
assert '(navigation)' not in resp |
|
108 | ||
109 |
page.exclude_from_navigation = False |
|
110 |
page.save() |
|
111 |
resp = app.get('/manage/') |
|
112 |
assert '(navigation)' in resp |
|
113 | ||
114 |
# mix |
|
115 |
page.redirect_url = 'http://www.example.net' |
|
116 |
page.save() |
|
117 |
resp = app.get('/manage/') |
|
118 |
assert '(navigation, redirection)' in resp |
|
119 | ||
120 | ||
102 | 121 |
def test_add_page(app, admin_user): |
103 | 122 |
app = login(app) |
104 | 123 |
resp = app.get('/manage/', status=200) |
105 |
- |