oca-technical/odoo-bringout-oca-server-ux-base_user_locale/base_user_locale/models/res_users.py
2025-08-29 15:43:03 +02:00

75 lines
2.4 KiB
Python

# Copyright 2019 Brainbean Apps (https://brainbeanapps.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class ResUsers(models.Model):
_inherit = "res.users"
date_format = fields.Char(
help="See Settings > Translations > Languages and then "
"click on any language to see the Legends for "
"supported Date and Time Formats and some examples",
)
time_format = fields.Char(
help="See Settings > Translations > Languages and then "
"click on any language to see the Legends for "
"supported Date and Time Formats and some examples",
)
week_start = fields.Selection(
selection=[
("1", "Monday"),
("2", "Tuesday"),
("3", "Wednesday"),
("4", "Thursday"),
("5", "Friday"),
("6", "Saturday"),
("7", "Sunday"),
],
)
decimal_point = fields.Char(
string="Decimal Separator",
trim=False,
help="See Settings > Translations > Languages and then "
"click on any language to see the Legends for "
"supported Date and Time Formats and some examples",
)
thousands_sep = fields.Char(
string="Thousands Separator",
trim=False,
help="See Settings > Translations > Languages and then "
"click on any language to see the Legends for "
"supported Date and Time Formats and some examples",
)
@property
def SELF_READABLE_FIELDS(self):
base_user_locale_readable_fields = [
"date_format",
"time_format",
"week_start",
"decimal_point",
"thousands_sep",
]
return super().SELF_READABLE_FIELDS + base_user_locale_readable_fields
@property
def SELF_WRITEABLE_FIELDS(self):
base_user_locale_writeable_fields = [
"date_format",
"time_format",
"week_start",
"decimal_point",
"thousands_sep",
]
return super().SELF_WRITEABLE_FIELDS + base_user_locale_writeable_fields
def preference_save(self):
super().preference_save()
# Do a "full" reload instead of just a context_reload to apply locale
# user specific settings.
return {
"type": "ir.actions.client",
"tag": "reload",
}