Projet

Général

Profil

0001-pages-add-a-param-check_visibility-to-next-previous-.patch

Lauréline Guérin, 24 octobre 2019 10:42

Télécharger (2,18 ko)

Voir les différences:

Subject: [PATCH 1/2] pages: add a param check_visibility to next/previous
 methods (#12437)

 combo/data/models.py | 8 ++++----
 tests/test_pages.py  | 5 +++++
 2 files changed, 9 insertions(+), 4 deletions(-)
combo/data/models.py
281 281
        tmpl.render(context, request)
282 282
        return placeholders
283 283

  
284
    def get_next_page(self, user=None):
284
    def get_next_page(self, user=None, check_visibility=True):
285 285
        pages = Page.get_as_reordered_flat_hierarchy(Page.objects.all())
286 286
        this_page = [x for x in pages if x.id == self.id][0]
287 287
        pages = pages[pages.index(this_page)+1:]
288 288
        for page in pages:
289
            if page.is_visible(user):
289
            if not check_visibility or page.is_visible(user):
290 290
                return page
291 291
        return None
292 292

  
293
    def get_previous_page(self, user=None):
293
    def get_previous_page(self, user=None, check_visibility=True):
294 294
        pages = Page.get_as_reordered_flat_hierarchy(Page.objects.all())
295 295
        pages.reverse()
296 296
        this_page = [x for x in pages if x.id == self.id][0]
297 297
        pages = pages[pages.index(this_page)+1:]
298 298
        for page in pages:
299
            if page.is_visible(user):
299
            if not check_visibility or page.is_visible(user):
300 300
                return page
301 301
        return None
302 302

  
tests/test_pages.py
210 210
    page3.save()
211 211
    assert page.get_next_page(None) is None
212 212

  
213
    assert page.get_next_page(check_visibility=False).id == page2.pk
214
    assert page2.get_next_page(check_visibility=False).id == page3.pk
215
    assert page3.get_previous_page(check_visibility=False).id == page2.pk
216

  
217

  
213 218
def test_import_export_management_commands():
214 219
    page = Page(title=u'foo', slug='foo', order=0)
215 220
    page.save()
216
-