[FIX]_prepare_order_line_procurement should not return False (cause problem with super), instead add another function to know if the so can create a procurement or not
bzr revid: csn@openerp.com-20130911140034-5so2qbe4rd2m6131
This commit is contained in:
parent
e17e0a2e42
commit
2452ef4404
|
@ -153,14 +153,18 @@ class sale_order(osv.osv):
|
|||
_inherit = 'sale.order'
|
||||
|
||||
def _prepare_order_line_procurement(self, cr, uid, order, line, group_id=False, context=None):
|
||||
if not(line.product_id.type== "service" and not line.product_id.auto_create_task):
|
||||
proc_data = super(sale_order, self)._prepare_order_line_procurement(cr,
|
||||
proc_data = super(sale_order, self)._prepare_order_line_procurement(cr,
|
||||
uid, order, line, group_id = group_id, context=context)
|
||||
if not(line.product_id.type== "service" and not line.product_id.auto_create_task):
|
||||
proc_data['sale_line_id'] = line.id
|
||||
else:
|
||||
proc_data = False
|
||||
return proc_data
|
||||
|
||||
def _check_create_procurement(self, cr, uid, order, line, context=None):
|
||||
create = super(sale_order, self)._check_create_procurement(cr, uid, order, line, context=context)
|
||||
if (line.product_id.type== "service" and not line.product_id.auto_create_task):
|
||||
create = True
|
||||
return create
|
||||
|
||||
def _picked_rate(self, cr, uid, ids, name, arg, context=None):
|
||||
if not ids:
|
||||
return {}
|
||||
|
|
|
@ -650,6 +650,9 @@ class sale_order(osv.osv):
|
|||
'name': order.name, 'partner_id': order.partner_shipping_id.id,
|
||||
}
|
||||
|
||||
def _check_create_procurement(self, cr, uid, order, line, context=None):
|
||||
return True
|
||||
|
||||
def action_ship_create(self, cr, uid, ids, context=None):
|
||||
"""Create the required procurements to supply sales order lines, also connecting
|
||||
the procurements to appropriate stock moves in order to bring the goods to the
|
||||
|
@ -671,9 +674,8 @@ class sale_order(osv.osv):
|
|||
for line in order.order_line:
|
||||
if (line.state == 'done') or not line.product_id:
|
||||
continue
|
||||
|
||||
vals = self._prepare_order_line_procurement(cr, uid, order, line, group_id=group_id, context=context)
|
||||
if vals:
|
||||
if self._check_create_procurement(cr, uid, order, line, context=context):
|
||||
vals = self._prepare_order_line_procurement(cr, uid, order, line, group_id=group_id, context=context)
|
||||
proc_id = procurement_obj.create(cr, uid, vals, context=context)
|
||||
proc_ids.append(proc_id)
|
||||
|
||||
|
|
Loading…
Reference in New Issue