From d31e495f6b7cd2da7d153b9738186b77eb7de83b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=9D=E7=91=AA=E8=B2=93?= Date: Thu, 9 Mar 2023 17:49:55 +0800 Subject: [PATCH] Added the AllTime class as a named period. --- src/accounting/report/period.py | 13 +++++++++++++ .../report/reports/utils/period_choosers.py | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/accounting/report/period.py b/src/accounting/report/period.py index 35ff29c..caf2ddb 100644 --- a/src/accounting/report/period.py +++ b/src/accounting/report/period.py @@ -116,6 +116,7 @@ class Period: "last-year": lambda: LastYear(), "today": lambda: Today(), "yesterday": lambda: Yesterday(), + "all-time": lambda: AllTime(), } if spec in named_periods: return named_periods[spec]() @@ -531,6 +532,18 @@ class Yesterday(Period): self.is_yesterday = True +class AllTime(Period): + """The period of all time.""" + def __init__(self): + super().__init__(None, None) + self.is_this_year = True + + def _set_properties(self) -> None: + self.spec = "all-time" + self.desc = gettext("All") + self.is_all = True + + class TemplatePeriod(Period): """The period template.""" def __init__(self): diff --git a/src/accounting/report/reports/utils/period_choosers.py b/src/accounting/report/reports/utils/period_choosers.py index ca17932..8892127 100644 --- a/src/accounting/report/reports/utils/period_choosers.py +++ b/src/accounting/report/reports/utils/period_choosers.py @@ -25,7 +25,7 @@ from datetime import date from accounting.models import Transaction from accounting.report.period import YearPeriod, Period, ThisMonth, \ - LastMonth, SinceLastMonth, ThisYear, LastYear, Today, Yesterday, \ + LastMonth, SinceLastMonth, ThisYear, LastYear, Today, Yesterday, AllTime, \ TemplatePeriod @@ -56,7 +56,7 @@ class PeriodChooser: """The URL for today.""" self.yesterday_url: str = get_url(Yesterday()) """The URL for yesterday.""" - self.all_url: str = get_url(Period(None, None)) + self.all_url: str = get_url(AllTime()) """The URL for all period.""" self.url_template: str = get_url(TemplatePeriod()) """The URL template."""