Three different instances of pagination could be
found throughout the project. This only needs to be a single instance
as all pagination elements do exactly the same thing: provide buttons
to change the query parameter of
page and fetch the current page with
the changed query parameters.
The location of /templates/pagination.html was chosen because it is the most generic place for such a generic template. Most, if not all, of the implementation of pagination was copied from /templates/request/list/pagination.html because the existing implementation there was most complete and most recently worked on. The 'new' pagination.html template/fragment was given explicit parameters for a Page object to figure out the current page and total page count etc. Additionally, the size (width) of the pagination element is passed explicitle. The value used by default before was 3.
The CourseController based function to fetch a list of students was adjusted to output a Page object into the model, as required for the pagination to work similarly to that of all other paginated pages.
Closes #233 (closed)