Moved the pagination and the page number out of range error from the accounting application to the Mia core application.
This commit is contained in:
		| @@ -38,43 +38,3 @@ class PeriodParser: | ||||
|         self.end = period_spec + "-30" | ||||
|  | ||||
|  | ||||
| class Pagination: | ||||
|     """The 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 | ||||
|  | ||||
|     Raises: | ||||
|         PageNoOutOfRangeError: if the specified page number is out | ||||
|             of range or is redundant. | ||||
|  | ||||
|     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): | ||||
|         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 | ||||
|         default_page = 1 if not is_reverse else total_pages | ||||
|         if page_no == default_page: | ||||
|             raise PageNoOutOfRangeError() | ||||
|         self.page_no = page_no \ | ||||
|             if page_no is not None \ | ||||
|             else default_page | ||||
|         if self.page_no > total_pages: | ||||
|             raise PageNoOutOfRangeError() | ||||
|  | ||||
|  | ||||
| class PageNoOutOfRangeError(Exception): | ||||
|     pass | ||||
|   | ||||
		Reference in New Issue
	
	Block a user