sale : onchange on shipping policy and override create and write on sale.order

bzr revid: mra@tinyerp.com-20081201130056-i2x4ye670oa72hlo
This commit is contained in:
Mustufa Rangwala 2008-12-01 18:30:56 +05:30
parent 3a47894f81
commit 7d8e5ee0e9
2 changed files with 33 additions and 7 deletions

View File

@ -296,6 +296,32 @@ class sale_order(osv.osv):
payment_term = part.property_payment_term and part.property_payment_term.id or False
return {'value':{'partner_invoice_id': addr['invoice'], 'partner_order_id':addr['contact'], 'partner_shipping_id':addr['delivery'], 'pricelist_id': pricelist, 'payment_term' : payment_term}}
def shipping_policy_change(self, cr, uid, ids, policy, context={}):
if not policy:
return {}
inv_qty = 'order'
if policy=='prepaid':
inv_qty = 'order'
elif policy=='picking':
inv_qty = 'procurement'
return {'value':{'invoice_quantity':inv_qty}}
def write(self, cr, uid, ids, vals, context=None):
if vals.has_key('order_policy'):
if vals['order_policy']=='prepaid':
vals.update({'invoice_quantity':'order'})
elif vals['order_policy']=='picking':
vals.update({'invoice_quantity':'procurement'})
return super(sale_order, self).write(cr, uid, ids, vals, context=context)
def create(self, cr, uid, vals, context={}):
if vals.has_key('order_policy'):
if vals['order_policy']=='prepaid':
vals.update({'invoice_quantity':'order'})
if vals['order_policy']=='picking':
vals.update({'invoice_quantity':'procurement'})
return super(sale_order, self).create(cr, uid, vals, context=context)
def button_dummy(self, cr, uid, ids, context={}):
return True

View File

@ -202,9 +202,9 @@
<field groups="base.group_extended" name="incoterm"/>
<field groups="base.group_extended" name="picking_policy" required="True"/>
<field name="user_id"/>
<field name="order_policy"/>
<field name="order_policy" on_change="shipping_policy_change(order_policy)"/>
<field groups="base.group_extended" name="origin"/>
<field groups="base.group_extended" name="invoice_quantity" attrs="{'readonly':[('order_policy','=','prepaid')]}"/>
<field groups="base.group_extended" name="invoice_quantity" attrs="{'readonly':[('order_policy','=','prepaid'),('order_policy','=','picking')]}"/>
<field name="payment_term"/>
<separator colspan="4" string="Notes"/>
<field colspan="4" name="note" nolabel="1"/>