[MERGE] forward port of branch 7.0 up to f46fa1d
This commit is contained in:
commit
162eb84438
|
@ -269,6 +269,22 @@ class purchase_order(osv.osv):
|
|||
|
||||
return super(purchase_order, self).unlink(cr, uid, unlink_ids, context=context)
|
||||
|
||||
def set_order_line_status(self, cr, uid, ids, status, context=None):
|
||||
line = self.pool.get('purchase.order.line')
|
||||
order_line_ids = []
|
||||
move_ids = []
|
||||
proc_obj = self.pool.get('procurement.order')
|
||||
for order in self.browse(cr, uid, ids, context=context):
|
||||
order_line_ids += [po_line.id for po_line in order.order_line]
|
||||
move_ids += [po_line.move_dest_id.id for po_line in order.order_line if po_line.move_dest_id]
|
||||
if order_line_ids:
|
||||
line.write(cr, uid, order_line_ids, {'state': status}, context=context)
|
||||
if order_line_ids and status == 'cancel':
|
||||
procs = proc_obj.search(cr, uid, [('move_id', 'in', move_ids)], context=context)
|
||||
if procs:
|
||||
proc_obj.write(cr, uid, procs, {'state': 'exception'}, context=context)
|
||||
return True
|
||||
|
||||
def button_dummy(self, cr, uid, ids, context=None):
|
||||
return True
|
||||
|
||||
|
@ -585,6 +601,10 @@ class purchase_order(osv.osv):
|
|||
return True
|
||||
return False
|
||||
|
||||
def wkf_action_cancel(self, cr, uid, ids, context=None):
|
||||
self.write(cr, uid, ids, {'state': 'cancel'}, context=context)
|
||||
self.set_order_line_status(cr, uid, ids, 'cancel', context=context)
|
||||
|
||||
def action_cancel(self, cr, uid, ids, context=None):
|
||||
for purchase in self.browse(cr, uid, ids, context=context):
|
||||
for pick in purchase.picking_ids:
|
||||
|
@ -603,7 +623,6 @@ class purchase_order(osv.osv):
|
|||
.signal_invoice_cancel(cr, uid, map(attrgetter('id'), purchase.invoice_ids))
|
||||
self.pool['purchase.order.line'].write(cr, uid, [l.id for l in purchase.order_line],
|
||||
{'state': 'cancel'})
|
||||
self.write(cr,uid,ids,{'state':'cancel'})
|
||||
|
||||
self.signal_purchase_cancel(cr, uid, ids)
|
||||
return True
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
<field name="name">cancel</field>
|
||||
<field name="kind">function</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="action">write({'state':'cancel'})</field>
|
||||
<field name="action">wkf_action_cancel()</field>
|
||||
</record>
|
||||
<record id="act_except_invoice" model="workflow.activity">
|
||||
<field name="wkf_id" ref="purchase_order"/>
|
||||
|
|
|
@ -52,10 +52,7 @@ class sale_order_line(osv.osv):
|
|||
for line in self.browse(cr, uid, ids, context=context):
|
||||
res[line.id] = 0
|
||||
if line.product_id:
|
||||
if line.purchase_price:
|
||||
res[line.id] = round((line.price_unit*line.product_uos_qty*(100.0-line.discount)/100.0) -(line.purchase_price*line.product_uos_qty), 2)
|
||||
else:
|
||||
res[line.id] = round((line.price_unit*line.product_uos_qty*(100.0-line.discount)/100.0) -(line.product_id.standard_price*line.product_uos_qty), 2)
|
||||
res[line.id] = round(line.price_subtotal - ((line.purchase_price or line.product_id.standard_price) * line.product_uos_qty), 2)
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
|
|
|
@ -798,7 +798,7 @@
|
|||
<record id="my" model="res.country">
|
||||
<field name="name">Malaysia</field>
|
||||
<field name="code">my</field>
|
||||
<field name="currency_id" ref="MXN"/>
|
||||
<field name="currency_id" ref="MYR"/>
|
||||
</record>
|
||||
<record id="mz" model="res.country">
|
||||
<field name="name">Mozambique</field>
|
||||
|
|
Loading…
Reference in New Issue