Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

seeker_pager template tag does not check page parameter #105

Open
spatovich opened this issue Sep 25, 2019 · 0 comments
Open

seeker_pager template tag does not check page parameter #105

spatovich opened this issue Sep 25, 2019 · 0 comments

Comments

@spatovich
Copy link

spatovich commented Sep 25, 2019

The template tag seeker.templatetags.seeker.seeker_pager does not check the upper boundary on parameter page. If page is greater than paginator.num_pages, an EmptyPage exception is raised.

This can be replicated with a search page where user is on last page of pagination. Somehow the result set decreases such that last page is no longer in given current criterion (for instance other users of system are updating attributes of records at the same time). The user then does an F5 on current page - EmptyPage exception.

I guess there is an argument that the code to check the offset against result_count is wrong here:
https://github.com/imsweb/django-seeker/blob/6.0/seeker/views.py#L822

Maybe something like the following is the correct implementation:
if results_count <= offset:
page = max([1, int(results_count / self.page_size)])
offset = (page - 1) * self.page_size

If you don't like that, maybe expose the ability to overrride - as is done with AdvancedSeekerView.calculate_page_and_offset

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant