summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric Snauwaert <csn@openerp.com>2013-09-11 16:00:34 +0200
committerCedric Snauwaert <csn@openerp.com>2013-09-11 16:00:34 +0200
commit2452ef440477f66e54fd571b061c2e479bbc8a30 (patch)
tree2ec45ceddaa653c692d563748c7fcca2a18ee867
parente17e0a2e427f6a6e7beecff4ff8ba63bf2c8fed1 (diff)
[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
-rw-r--r--addons/project_mrp/project_mrp.py12
-rw-r--r--addons/sale/sale.py8
2 files changed, 13 insertions, 7 deletions
diff --git a/addons/project_mrp/project_mrp.py b/addons/project_mrp/project_mrp.py
index 1d72375e03c..b4052509e38 100644
--- a/addons/project_mrp/project_mrp.py
+++ b/addons/project_mrp/project_mrp.py
@@ -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 {}
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index a2f961848ea..2b479442597 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -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)