Initial import from Docker volume
This commit is contained in:
48
ir/configuration.py
Executable file
48
ir/configuration.py
Executable file
@@ -0,0 +1,48 @@
|
||||
# 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()
|
||||
Reference in New Issue
Block a user