diff options
Diffstat (limited to 'ishtar_common')
| -rw-r--r-- | ishtar_common/jinja_filters.py | 13 | ||||
| -rw-r--r-- | ishtar_common/utils.py | 3 | ||||
| -rw-r--r-- | ishtar_common/utils_secretary.py | 3 |
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) |
