Added the AllTime class as a named period.

This commit is contained in:
依瑪貓 2023-03-09 17:49:55 +08:00
parent 7c4102be44
commit d31e495f6b
2 changed files with 15 additions and 2 deletions

View File

@ -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):

View File

@ -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."""