From a26247f7521d40ced2ed93006554872f1078d7f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=9D=E7=91=AA=E8=B2=93?= Date: Tue, 7 Jul 2020 19:33:34 +0800 Subject: [PATCH] Revised the has_order_hole attribute of the accounting transaction data model. --- accounting/models.py | 6 ++++-- accounting/views.py | 11 +++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/accounting/models.py b/accounting/models.py index 3b29b63..919c486 100644 --- a/accounting/models.py +++ b/accounting/models.py @@ -117,8 +117,10 @@ class Transaction(models.Model): 1, 2, 3, 4, 5..., and should be reordered. """ if self._has_order_hole is None: orders = [x.ord for x in Transaction.objects.filter( - date=self.date).order_by("-ord")] - if orders[0] != len(orders): + date=self.date)] + if max(orders) != len(orders): + self._has_order_hole = True + elif min(orders) != 1: self._has_order_hole = True elif len(orders) != len(set(orders)): self._has_order_hole = True diff --git a/accounting/views.py b/accounting/views.py index 14cdb3e..f1b0496 100644 --- a/accounting/views.py +++ b/accounting/views.py @@ -110,6 +110,7 @@ class BaseReportView(generic.ListView): return HttpResponseRedirect( str(UrlBuilder(request.get_full_path()) .del_param("page"))) + print("accounting.views.BaseReportView.get() 1 before") try: r = super(BaseReportView, self) \ .get(request, *args, **kwargs) @@ -117,6 +118,14 @@ class BaseReportView(generic.ListView): return HttpResponseRedirect( str(UrlBuilder(request.get_full_path()) .del_param("page"))) + print("accounting.views.BaseReportView.get() 2 after") + return r + + def get_context_data(self, **kwargs): + print("accounting.views.BaseReportView.get_context_data() 1 before") + r = super(BaseReportView, self).get_context_data(**kwargs) + print("accounting.views.BaseReportView.get_context_data() 2 after") + print(r) return r @@ -132,6 +141,7 @@ class CashReportView(BaseReportView): Returns: List[Record]: The accounting records for the cash report """ + print("accounting.views.CashReportView.get_queryset() 1 before") period = PeriodParser(self.kwargs["period_spec"]) if self.kwargs["subject_code"] == "0": records = Record.objects.raw( @@ -197,4 +207,5 @@ ORDER BY pagination = Pagination( len(records), self.page_no, self.page_size, True) start_no = pagination.page_size * (pagination.page_no - 1) + print("accounting.views.CashReportView.get_queryset() 2 after") return records[start_no:start_no + pagination.page_size]