0001-pages-add-a-param-check_visibility-to-next-previous-.patch
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 | ||
---|---|---|
228 | 228 |
page3.save() |
229 | 229 |
assert page.get_next_page(None) is None |
230 | 230 | |
231 |
assert page.get_next_page(check_visibility=False).id == page2.pk |
|
232 |
assert page2.get_next_page(check_visibility=False).id == page3.pk |
|
233 |
assert page3.get_previous_page(check_visibility=False).id == page2.pk |
|
234 | ||
235 | ||
231 | 236 |
def test_import_export_management_commands(): |
232 | 237 |
page = Page(title=u'foo', slug='foo', order=0) |
233 | 238 |
page.save() |
234 |
- |