Files
tradon/ir/configuration.py
2025-12-26 13:11:43 +00:00

49 lines
1.4 KiB
Python
Executable File

# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.cache import Cache
from trytond.config import config
from trytond.model import ModelSingleton, ModelSQL, fields
class Configuration(ModelSingleton, ModelSQL):
'Configuration'
__name__ = 'ir.configuration'
language = fields.Char('language')
hostname = fields.Char("Hostname", strip=False)
_get_language_cache = Cache('ir_configuration.get_language')
@staticmethod
def default_language():
return config.get('database', 'language')
@classmethod
def get_language(cls):
language = cls._get_language_cache.get(None)
if language is not None:
return language
language = cls(1).language
if not language:
language = config.get('database', 'language')
cls._get_language_cache.set(None, language)
return language
def check(self):
"Check configuration coherence on pool initialisation"
pass
@classmethod
def create(cls, vlist):
records = super().create(vlist)
cls._get_language_cache.clear()
return records
@classmethod
def write(cls, *args):
super().write(*args)
cls._get_language_cache.clear()
@classmethod
def delete(cls, records):
super().delete(records)
cls._get_language_cache.clear()