Added a simple pagination filter and refined the cash report.
This commit is contained in:
@ -38,3 +38,36 @@ class PeriodParser:
|
||||
"""
|
||||
self.start = period_spec + "-01"
|
||||
self.end = period_spec + "-30"
|
||||
|
||||
|
||||
class Pagination:
|
||||
"""The pagination.
|
||||
|
||||
Attributes:
|
||||
page_no (int): The current page number
|
||||
page_size (int): The page size
|
||||
"""
|
||||
page_no = None
|
||||
page_size = None
|
||||
|
||||
DEFAULT_PAGE_SIZE = 10
|
||||
|
||||
def __init__(self, count, page_no, page_size, is_reverse = False):
|
||||
"""Constructs a new pagination.
|
||||
|
||||
Args:
|
||||
count (int): The total number of records
|
||||
page_no (int): The specified page number
|
||||
page_size (int): The specified number of records per page
|
||||
is_reverse (bool): Whether we should display the last
|
||||
page first
|
||||
"""
|
||||
self.page_size = page_size \
|
||||
if page_size is not None \
|
||||
else self.DEFAULT_PAGE_SIZE
|
||||
total_pages = int((count - 1) / self.page_size) + 1
|
||||
self.page_no = page_no \
|
||||
if page_no is not None \
|
||||
else 1 if not is_reverse else total_pages
|
||||
if self.page_no > total_pages:
|
||||
self.page_no = total_pages
|
||||
|
Reference in New Issue
Block a user