mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-04-23 09:08:39 +02:00
feat: monkey patch get_format to return usersettings
This commit is contained in:
31
app/apps/common/functions/format.py
Normal file
31
app/apps/common/functions/format.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from apps.common.middleware.thread_local import get_current_user
|
||||
from django.utils.formats import get_format as original_get_format
|
||||
|
||||
|
||||
def get_format(format_type=None, lang=None, use_l10n=None):
|
||||
user = get_current_user()
|
||||
|
||||
if user and user.is_authenticated and hasattr(user, "settings"):
|
||||
user_settings = user.settings
|
||||
if format_type == "THOUSAND_SEPARATOR":
|
||||
number_format = getattr(user_settings, "number_format", None)
|
||||
if number_format == "DC":
|
||||
return "."
|
||||
elif number_format == "CD":
|
||||
return ","
|
||||
elif format_type == "DECIMAL_SEPARATOR":
|
||||
number_format = getattr(user_settings, "number_format", None)
|
||||
if number_format == "DC":
|
||||
return ","
|
||||
elif number_format == "CD":
|
||||
return "."
|
||||
elif format_type == "SHORT_DATE_FORMAT":
|
||||
date_format = getattr(user_settings, "date_format", None)
|
||||
if date_format and date_format != "SHORT_DATE_FORMAT":
|
||||
return date_format
|
||||
elif format_type == "SHORT_DATETIME_FORMAT":
|
||||
datetime_format = getattr(user_settings, "datetime_format", None)
|
||||
if datetime_format and datetime_format != "SHORT_DATETIME_FORMAT":
|
||||
return datetime_format
|
||||
|
||||
return original_get_format(format_type, lang, use_l10n)
|
||||
Reference in New Issue
Block a user