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:
parent
3a47894f81
commit
7d8e5ee0e9
|
@ -1,7 +1,7 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
|
||||
# $Id$
|
||||
#
|
||||
|
@ -261,9 +261,9 @@ class sale_order(osv.osv):
|
|||
unlink_ids.append(s['id'])
|
||||
else:
|
||||
raise osv.except_osv(_('Invalid action !'), _('Cannot delete Sale Order(s) which are already confirmed !'))
|
||||
return osv.osv.unlink(self, cr, uid, unlink_ids)
|
||||
|
||||
|
||||
return osv.osv.unlink(self, cr, uid, unlink_ids)
|
||||
|
||||
|
||||
def onchange_shop_id(self, cr, uid, ids, shop_id):
|
||||
v={}
|
||||
if shop_id:
|
||||
|
@ -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
|
||||
|
||||
|
@ -453,7 +479,7 @@ class sale_order(osv.osv):
|
|||
def test_state(self, cr, uid, ids, mode, *args):
|
||||
assert mode in ('finished', 'canceled'), _("invalid mode for test_state")
|
||||
finished = True
|
||||
canceled = False
|
||||
canceled = False
|
||||
notcanceled = False
|
||||
write_done_ids = []
|
||||
write_cancel_ids = []
|
||||
|
|
|
@ -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"/>
|
||||
|
|
Loading…
Reference in New Issue