diff options
| author | Cedric Snauwaert <csn@openerp.com> | 2013-09-11 16:00:34 +0200 |
|---|---|---|
| committer | Cedric Snauwaert <csn@openerp.com> | 2013-09-11 16:00:34 +0200 |
| commit | 2452ef440477f66e54fd571b061c2e479bbc8a30 (patch) | |
| tree | 2ec45ceddaa653c692d563748c7fcca2a18ee867 | |
| parent | e17e0a2e427f6a6e7beecff4ff8ba63bf2c8fed1 (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.py | 12 | ||||
| -rw-r--r-- | addons/sale/sale.py | 8 |
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) |
