Projet

Général

Profil

0002-manager-mention-on-home-page-if-a-page-is-in-menu-51.patch

Lauréline Guérin, 04 mars 2021 14:37

Télécharger (2,75 ko)

Voir les différences:

Subject: [PATCH 2/2] manager: mention on home page if a page is in menu
 (#51477)

 combo/data/models.py                          |  8 ++++++++
 .../manager/templates/combo/manager_home.html |  2 +-
 tests/test_manager.py                         | 19 +++++++++++++++++++
 3 files changed, 28 insertions(+), 1 deletion(-)
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
-