-
Notifications
You must be signed in to change notification settings - Fork 28
Description
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