diff --git a/app/apps/transactions/templatetags/currency_display.py b/app/apps/transactions/templatetags/currency_display.py index 20d05d1..43106e6 100644 --- a/app/apps/transactions/templatetags/currency_display.py +++ b/app/apps/transactions/templatetags/currency_display.py @@ -1,3 +1,5 @@ +from decimal import Decimal + from django import template from django.utils.formats import number_format @@ -6,13 +8,16 @@ register = template.Library() def _format_string(prefix, amount, decimal_places, suffix): - formatted_amount = number_format( - value=abs(amount), decimal_pos=decimal_places, force_grouping=True - ) - if amount < 0: - return f"-{prefix}{formatted_amount}{suffix}" + if isinstance(amount, (int, float, Decimal)): + formatted_amount = number_format( + value=abs(amount), decimal_pos=decimal_places, force_grouping=True + ) + if amount < 0: + return f"-{prefix}{formatted_amount}{suffix}" + else: + return f"{prefix}{formatted_amount}{suffix}" else: - return f"{prefix}{formatted_amount}{suffix}" + return "ERR" @register.simple_tag(name="currency_display")