From 2cc3e5734c699be5eeaed9b992ea1c3a472c5bc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 19 Mar 2009 00:11:38 +0100 Subject: [PATCH] Add Cache to get_default --- trytond/ir/default.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/trytond/ir/default.py b/trytond/ir/default.py index 786e5f61f4..2d7f9b7696 100644 --- a/trytond/ir/default.py +++ b/trytond/ir/default.py @@ -2,6 +2,7 @@ #this repository contains the full copyright notices and license terms. "Default" from trytond.model import ModelView, ModelSQL, fields +from trytond.tools import Cache from decimal import Decimal import mx.DateTime import datetime @@ -70,6 +71,8 @@ class Default(ModelSQL, ModelView): res[default.field.name] = eval(default.value) return res + get_default = Cache('ir_default.get_default')(get_default) + def set_default(self, cursor, user, model, field, clause, value, user_default, context=None): model_obj = self.pool.get('ir.model') @@ -96,4 +99,22 @@ class Default(ModelSQL, ModelView): 'user': user_default, }, context=context) + def create(self, cursor, user, vals, context=None): + res = super(Default, self).create(cursor, user, vals, context=context) + # Restart the cache for get_default method + self.get_default(cursor.dbname) + return res + + def write(self, cursor, user, ids, vals, context=None): + res = super(Default, self).write(cursor, user, ids, vals, context=context) + # Restart the cache for get_default method + self.get_default(cursor.dbname) + return res + + def delete(self, cursor, user, ids, context=None): + res = super(Default, self).delete(cursor, user, ids, context=context) + # Restart the cache for get_default method + self.get_default(cursor.dbname) + return res + Default()