Opened 19 years ago
Closed 18 years ago
#4053 closed (invalid)
implicitly control in paginator causes unexpected return values.
| Reported by: | Owned by: | Adrian Holovaty | |
|---|---|---|---|
| Component: | Core (Other) | Version: | dev |
| Severity: | Keywords: | paginator | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Hi,
Pagiantor doesn't check the 'page_number' value in "has_next_page" and "has_previous_page" functions. It causes this:
>>> from django.core.paginator import ObjectPaginator >>> from zangetsu.blog.models import Entry >>> e = Entry.objects.all() >>> len(e) 262 >>> paginator_result = ObjectPaginator(e, 10) >>> paginator_result.pages 27 >>> page_number = 0 >>> paginator_result.has_next_page(page_number) True >>> paginator_result.has_previous_page(page_number) False >>> page_number = "0" >>> paginator_result.has_next_page(page_number) False >>> paginator_result.has_previous_page(page_number) True
Please review the patch attached below (I'm sorry if ticket is in the wrong component, I couldn't find any closer).
Thanks,
- Murat Eren.
Attachments (1)
Change History (2)
by , 19 years ago
| Attachment: | paginator-check_int.diff added |
|---|
comment:1 by , 18 years ago
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
I think in this case that the type conversion should be done before passing it in to has_*_page methods. These methods shouldn't care where the data came from.