[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'
|
_inherit = 'sale.order'
|
||||||
|
|
||||||
def _prepare_order_line_procurement(self, cr, uid, order, line, group_id=False, context=None):
|
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)
|
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
|
proc_data['sale_line_id'] = line.id
|
||||||
else:
|
|
||||||
proc_data = False
|
|
||||||
return proc_data
|
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):
|
def _picked_rate(self, cr, uid, ids, name, arg, context=None):
|
||||||
if not ids:
|
if not ids:
|
||||||
return {}
|
return {}
|
||||||
|
|
|
@ -650,6 +650,9 @@ class sale_order(osv.osv):
|
||||||
'name': order.name, 'partner_id': order.partner_shipping_id.id,
|
'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):
|
def action_ship_create(self, cr, uid, ids, context=None):
|
||||||
"""Create the required procurements to supply sales order lines, also connecting
|
"""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
|
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:
|
for line in order.order_line:
|
||||||
if (line.state == 'done') or not line.product_id:
|
if (line.state == 'done') or not line.product_id:
|
||||||
continue
|
continue
|
||||||
|
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)
|
vals = self._prepare_order_line_procurement(cr, uid, order, line, group_id=group_id, context=context)
|
||||||
if vals:
|
|
||||||
proc_id = procurement_obj.create(cr, uid, vals, context=context)
|
proc_id = procurement_obj.create(cr, uid, vals, context=context)
|
||||||
proc_ids.append(proc_id)
|
proc_ids.append(proc_id)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue