[FIX] Purchase Double Validation workflow

bzr revid: api@openerp.com-20121205150844-wooa4k7gzx4tr72s
This commit is contained in:
Arnaud Pineux 2012-12-05 16:08:44 +01:00
parent 18afbc6313
commit b4dbebadf6
4 changed files with 23 additions and 7 deletions

View File

@ -22,6 +22,7 @@
<record id="act_confirmed" model="workflow.activity">
<field name="wkf_id" ref="purchase_order"/>
<field name="name">confirmed</field>
<field name="split_mode">OR</field>
<field name="kind">function</field>
<field name="action">wkf_confirm_order()</field>
</record>
@ -49,6 +50,7 @@
<field name="name">router</field>
<field name="split_mode">OR</field>
<field name="kind">function</field>
<field name="join_mode">AND</field>
<field name="action">wkf_approve_order()</field>
</record>
<record id="act_invoice" model="workflow.activity">

View File

@ -34,16 +34,16 @@ class purchase_config_settings(osv.osv_memory):
def get_default_limit_amount(self, cr, uid, fields, context=None):
ir_model_data = self.pool.get('ir.model.data')
transition = ir_model_data.get_object(cr, uid, 'purchase_double_validation', 'trans_waiting_confirmed')
transition = ir_model_data.get_object(cr, uid, 'purchase_double_validation', 'trans_confirmed_double_app_lt')
field, value = transition.condition.split('<', 1)
return {'limit_amount': int(value)}
def set_limit_amount(self, cr, uid, ids, context=None):
ir_model_data = self.pool.get('ir.model.data')
config = self.browse(cr, uid, ids[0], context)
waiting = ir_model_data.get_object(cr, uid, 'purchase', 'trans_confirmed_router')
waiting = ir_model_data.get_object(cr, uid, 'purchase_double_validation', 'trans_confirmed_double_app')
waiting.write({'condition': 'amount_total >= %s' % config.limit_amount})
confirm = ir_model_data.get_object(cr, uid, 'purchase_double_validation', 'trans_waiting_confirmed')
confirm = ir_model_data.get_object(cr, uid, 'purchase_double_validation', 'trans_confirmed_double_app_lt')
confirm.write({'condition': 'amount_total < %s' % config.limit_amount})
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -8,7 +8,7 @@
<field name="inherit_id" ref="purchase.view_purchase_configuration"/>
<field name="arch" type="xml">
<div name="module_purchase_double_validation" position="inside">
<span attrs="{'invisible': [('module_purchase_double_validation','=',False)]}" class="oe_separate-from-text">
<span class="oe_separate-from-text">
<label for="limit_amount"/>
<field name="limit_amount" attrs="{'required': [('module_purchase_double_validation','=',True)]}" class="oe_inline"/>
</span>

View File

@ -1,18 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="act_double_app" model="workflow.activity">
<field name="wkf_id" ref="purchase.purchase_order"/>
<field name="name">doubleApproval</field>
<field name="split_mode">OR</field>
<field name="kind">function</field>
<field name="action">wkf_approve_order()</field>
</record>
<record id="purchase.trans_confirmed_router" model="workflow.transition">
<record id="trans_confirmed_double_app" model="workflow.transition">
<field name="act_from" ref="purchase.act_confirmed"/>
<field name="act_to" ref="act_double_app"/>
<field name="condition">amount_untaxed &gt;= 5000</field>
<field name="signal">purchase_approve</field>
<field name="group_id" ref="purchase.group_purchase_manager"/>
</record>
<record id="trans_waiting_confirmed" model="workflow.transition">
<record id="trans_confirmed_double_app_lt" model="workflow.transition">
<field name="act_from" ref="purchase.act_confirmed"/>
<field name="act_to" ref="purchase.act_router"/>
<field name="act_to" ref="act_double_app"/>
<field name="condition">amount_untaxed &lt; 5000</field>
</record>
<record id="trans_double_app_conf" model="workflow.transition">
<field name="act_from" ref="act_double_app"/>
<field name="act_to" ref="purchase.act_router"/>
</record>
</data>
</openerp>