[MERGE] with purchase_double_validation fix

bzr revid: api@openerp.com-20121207103057-zkb3tzec7yopuwcl
This commit is contained in:
Arnaud Pineux 2012-12-07 11:30:57 +01:00
commit 4defeed889
5 changed files with 44 additions and 8 deletions

View File

@ -389,6 +389,15 @@ class purchase_order(osv.osv):
self.write(cr, uid, ids, {'state': 'approved', 'date_approve': fields.date.context_today(self,cr,uid,context=context)})
return True
def print_confirm(self,cr,uid,ids,context=None):
print "Confirmed"
def print_double(self,cr,uid,ids,context=None):
print "double Approval"
def print_router(self,cr,uid,ids,context=None):
print "Routed"
def wkf_send_rfq(self, cr, uid, ids, context=None):
'''
This function opens a window to compose an email, with the edi purchase template message loaded by default

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_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_gt')
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_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

@ -2,17 +2,42 @@
<openerp>
<data>
<record id="purchase.trans_confirmed_router" model="workflow.transition">
<record id="act_double_wait" model="workflow.activity">
<field name="wkf_id" ref="purchase.purchase_order"/>
<field name="name">WaitForApproval</field>
<field name="kind">dummy</field>
</record>
<record id="act_double_check" model="workflow.activity">
<field name="wkf_id" ref="purchase.purchase_order"/>
<field name="name">CheckForApproval</field>
<field name="split_mode">OR</field>
<field name="kind">dummy</field>
</record>
<record id="trans_confirmed_double_check" model="workflow.transition">
<field name="act_from" ref="purchase.act_confirmed"/>
<field name="act_to" ref="act_double_check"/>
</record>
<record id="trans_confirmed_double_gt" model="workflow.transition">
<field name="act_from" ref="act_double_check"/>
<field name="act_to" ref="act_double_wait"/>
<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">
<field name="act_from" ref="purchase.act_confirmed"/>
<field name="act_to" ref="purchase.act_router"/>
<record id="trans_confirmed_double_lt" model="workflow.transition">
<field name="act_from" ref="act_double_check"/>
<field name="act_to" ref="act_double_wait"/>
<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_wait"/>
<field name="act_to" ref="purchase.act_router"/>
</record>
</data>
</openerp>