summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/jinja_filters.py13
-rw-r--r--ishtar_common/utils.py3
-rw-r--r--ishtar_common/utils_secretary.py3
3 files changed, 16 insertions, 3 deletions
diff --git a/ishtar_common/jinja_filters.py b/ishtar_common/jinja_filters.py
index 64d22bf10..0c00401a8 100644
--- a/ishtar_common/jinja_filters.py
+++ b/ishtar_common/jinja_filters.py
@@ -131,11 +131,22 @@ def capitalize_filter(*args):
@environmentfilter
+def year_filter(*args):
+ value = args[0] if len(args) == 1 else args[1] # jinja simple filter
+ try:
+ value = datetime.strptime(value, "%Y-%m-%d")
+ except (ValueError, TypeError):
+ return ""
+ set_locale()
+ return value.year
+
+
+@environmentfilter
def human_date_filter(*args):
value = args[0] if len(args) == 1 else args[1] # jinja simple filter
try:
value = datetime.strptime(value, "%Y-%m-%d")
- except (ValueError, TypeError) as __:
+ except (ValueError, TypeError):
return ""
set_locale()
return value.strftime(settings.DATE_FORMAT)
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index cb6511d9d..30bf4b7db 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -79,7 +79,7 @@ from django.template.defaultfilters import slugify
from .jinja_filters import capfirst_filter, capitalize_filter, \
euro_format, float_format, human_date_filter, lowerfirst_filter, \
- number_to_words, replace_line_breaks, short_date_filter, splitpart
+ number_to_words, replace_line_breaks, short_date_filter, splitpart, year_filter
if settings.USE_TRANSLATION_OVERLOAD:
@@ -2868,6 +2868,7 @@ EXTRA_JINJA_FILTERS = {
"euro_format": euro_format,
"number_to_words": number_to_words,
"replace_line_breaks": replace_line_breaks,
+ "year": year_filter
}
diff --git a/ishtar_common/utils_secretary.py b/ishtar_common/utils_secretary.py
index 77a2cbc9b..c3da79ea1 100644
--- a/ishtar_common/utils_secretary.py
+++ b/ishtar_common/utils_secretary.py
@@ -12,7 +12,7 @@ from django.conf import settings
from .jinja_filters import capfirst_filter, capitalize_filter, \
euro_format, float_format, human_date_filter, lowerfirst_filter, \
- number_to_words, replace_line_breaks, short_date_filter, splitpart
+ number_to_words, replace_line_breaks, short_date_filter, splitpart, year_filter
RE_UNITS = re.compile("([.0-9]+)([a-z]+)")
@@ -66,6 +66,7 @@ class IshtarSecretaryRenderer(Renderer):
self.environment.filters["add"] = add_filter
self.environment.filters["sub"] = sub_filter
self.environment.filters["short_date"] = short_date_filter
+ self.environment.filters["year"] = year_filter
def ishtar_media_loader(self, media, *args, **kwargs):
res = self.fs_loader(media, *args, **kwargs)