mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-02 13:45:10 -05:00
Take non-wrapping financial years into account.
The German financial year for example goes from January to December. In those cases we simply only show the year in the overview.
This commit is contained in:
parent
c65c5009e4
commit
1cd76634a3
@ -49,18 +49,33 @@ class FinancialYearFilter(admin.SimpleListFilter):
|
|||||||
fy_end = "{}-{}".format(str(year), settings.FY_END)
|
fy_end = "{}-{}".format(str(year), settings.FY_END)
|
||||||
return datetime.strptime(fy_end, "%Y-%m-%d").date()
|
return datetime.strptime(fy_end, "%Y-%m-%d").date()
|
||||||
|
|
||||||
|
def _fy_does_wrap(self):
|
||||||
|
"""Return whether the financial year spans across two years."""
|
||||||
|
start = "{}".format(settings.FY_START)
|
||||||
|
start = datetime.strptime(start, "%m-%d").date()
|
||||||
|
end = "{}".format(settings.FY_END)
|
||||||
|
end = datetime.strptime(end, "%m-%d").date()
|
||||||
|
|
||||||
|
return end < start
|
||||||
|
|
||||||
def _determine_fy(self, date):
|
def _determine_fy(self, date):
|
||||||
"""Return a (query, display) financial year tuple of the given date."""
|
"""Return a (query, display) financial year tuple of the given date."""
|
||||||
fy_start = self._fy_start(date.year)
|
fy_start = self._fy_start(date.year)
|
||||||
|
|
||||||
if date.date() >= fy_start:
|
if self._fy_does_wrap():
|
||||||
query = "{}-{}".format(date.year, date.year + 1)
|
if date.date() >= fy_start:
|
||||||
else:
|
query = "{}-{}".format(date.year, date.year + 1)
|
||||||
query = "{}-{}".format(date.year - 1, date.year)
|
else:
|
||||||
|
query = "{}-{}".format(date.year - 1, date.year)
|
||||||
|
|
||||||
# To keep it simple we use the same String for both query parameters
|
# To keep it simple we use the same string for both
|
||||||
# and the display.
|
# query parameter and the display.
|
||||||
return (query, query)
|
return (query, query)
|
||||||
|
|
||||||
|
else:
|
||||||
|
query = "{0}-{0}".format(date.year)
|
||||||
|
display = "{}".format(date.year)
|
||||||
|
return (query, display)
|
||||||
|
|
||||||
def lookups(self, request, model_admin):
|
def lookups(self, request, model_admin):
|
||||||
if not settings.FY_START or not settings.FY_END:
|
if not settings.FY_START or not settings.FY_END:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user