Add Cache to get_default

This commit is contained in:
Cédric Krier
2009-03-19 00:11:38 +01:00
parent 879ede3372
commit 2cc3e5734c
+21
View File
@@ -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()