1 # -*- coding: utf-8 -*-
2 ##############################################################################
4 # OpenERP, Open Source Management Solution
5 # Copyright (C) 2010-2011 OpenERP s.a. (<http://openerp.com>).
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU Affero General Public License as
9 # published by the Free Software Foundation, either version 3 of the
10 # License, or (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU Affero General Public License for more details.
17 # You should have received a copy of the GNU Affero General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
20 ##############################################################################
23 from tools import cache
25 def _gen_cache_clear(method):
26 def func(self, cr, *args, **kwargs):
27 s = super(publisher_warranty_contract, self)
28 r = getattr(s, method)(cr, *args, **kwargs)
29 self.is_livechat_enable.clear_cache(self)
33 class publisher_warranty_contract(osv.osv):
34 _inherit = 'publisher_warranty.contract'
36 create = _gen_cache_clear('create')
37 write = _gen_cache_clear('write')
38 unlink = _gen_cache_clear('unlink')
40 @cache(skiparg=3, timeout=300)
41 def is_livechat_enable(self, cr, uid):
42 domain = [('state', '=', 'valid'), ('check_support', '=', True)]
43 return self.search_count(cr, uid, domain) != 0
45 publisher_warranty_contract()
48 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: