1 # -*- coding: utf-8 -*-
2 ##############################################################################
4 # OpenERP, Open Source Management Solution
5 # Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
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 ##############################################################################
22 from osv import fields, osv
24 class purchase_config_settings(osv.osv_memory):
25 _inherit = 'purchase.config.settings'
27 'limit_amount': fields.integer('limit to require a second approval',required=True,
28 help="Amount after which validation of purchase is required."),
35 def get_default_limit_amount(self, cr, uid, fields, context=None):
36 ir_model_data = self.pool.get('ir.model.data')
37 transition = ir_model_data.get_object(cr, uid, 'purchase_double_validation', 'trans_waiting_confirmed')
38 field, value = transition.condition.split('<', 1)
39 return {'limit_amount': int(value)}
41 def set_limit_amount(self, cr, uid, ids, context=None):
42 ir_model_data = self.pool.get('ir.model.data')
43 config = self.browse(cr, uid, ids[0], context)
44 waiting = ir_model_data.get_object(cr, uid, 'purchase', 'trans_confirmed_router')
45 waiting.write({'condition': 'amount_total >= %s' % config.limit_amount})
46 confirm = ir_model_data.get_object(cr, uid, 'purchase_double_validation', 'trans_waiting_confirmed')
47 confirm.write({'condition': 'amount_total < %s' % config.limit_amount})
49 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: