Skip to content

seeker_pager template tag does not check page parameter #105

@spatovich

Description

@spatovich

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions