Merge lp:~openerp-dev/openobject-addons/6.1-sale-mrp-perf-mat into lp:openobject-addons/6.1

Proposed by Martin Trigaux (OpenERP)
Status: Needs review
Proposed branch: lp:~openerp-dev/openobject-addons/6.1-sale-mrp-perf-mat
Merge into: lp:openobject-addons/6.1
Diff against target: 59 lines (+6/-6)
2 files modified
sale/sale.py (+5/-5)
stock/stock.py (+1/-1)
To merge this branch: bzr merge lp:~openerp-dev/openobject-addons/6.1-sale-mrp-perf-mat
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+190550@code.launchpad.net

Description of the change

Trying to improve performances for confirmation of sale confirmation, opw 598233

To post a comment you must log in.

Unmerged revisions

7253. By Martin Trigaux (OpenERP)

[FIX] sale: initiate list

7252. By Martin Trigaux (OpenERP)

[IMP] sale: revert commented block

7251. By Martin Trigaux (OpenERP)

[IMP] stock: performance improvements while confirming stock moves with many lines

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'sale/sale.py'
--- sale/sale.py 2012-10-09 12:16:14 +0000
+++ sale/sale.py 2013-10-11 08:31:46 +0000
@@ -817,7 +817,7 @@
817 picking_obj = self.pool.get('stock.picking')817 picking_obj = self.pool.get('stock.picking')
818 procurement_obj = self.pool.get('procurement.order')818 procurement_obj = self.pool.get('procurement.order')
819 proc_ids = []819 proc_ids = []
820820 stock_move_ids = []
821 for line in order_lines:821 for line in order_lines:
822 if line.state == 'done':822 if line.state == 'done':
823 continue823 continue
@@ -828,7 +828,8 @@
828 if line.product_id.product_tmpl_id.type in ('product', 'consu'):828 if line.product_id.product_tmpl_id.type in ('product', 'consu'):
829 if not picking_id:829 if not picking_id:
830 picking_id = picking_obj.create(cr, uid, self._prepare_order_picking(cr, uid, order, context=context))830 picking_id = picking_obj.create(cr, uid, self._prepare_order_picking(cr, uid, order, context=context))
831 move_id = move_obj.create(cr, uid, self._prepare_order_line_move(cr, uid, order, line, picking_id, date_planned, context=context))831 move_id = move_obj.create(cr, uid, self._prepare_order_line_move(cr, uid, order, line, False, date_planned, context=context))
832 stock_move_ids.append(move_id)
832 else:833 else:
833 # a service has no stock move834 # a service has no stock move
834 move_id = False835 move_id = False
@@ -837,14 +838,13 @@
837 proc_ids.append(proc_id)838 proc_ids.append(proc_id)
838 line.write({'procurement_id': proc_id})839 line.write({'procurement_id': proc_id})
839 self.ship_recreate(cr, uid, order, line, move_id, proc_id)840 self.ship_recreate(cr, uid, order, line, move_id, proc_id)
840841 if picking_id:
842 move_obj.write(cr, uid, stock_move_ids, {'picking_id': picking_id}, context=context)
841 wf_service = netsvc.LocalService("workflow")843 wf_service = netsvc.LocalService("workflow")
842 if picking_id:844 if picking_id:
843 wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)845 wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)
844
845 for proc_id in proc_ids:846 for proc_id in proc_ids:
846 wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)847 wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
847
848 val = {}848 val = {}
849 if order.state == 'shipping_except':849 if order.state == 'shipping_except':
850 val['state'] = 'progress'850 val['state'] = 'progress'
851851
=== modified file 'stock/stock.py'
--- stock/stock.py 2013-10-02 13:19:11 +0000
+++ stock/stock.py 2013-10-11 08:31:46 +0000
@@ -1947,7 +1947,6 @@
1947 'location_id': move.location_dest_id.id,1947 'location_id': move.location_dest_id.id,
1948 'location_dest_id': loc.id,1948 'location_dest_id': loc.id,
1949 'date_moved': time.strftime('%Y-%m-%d'),1949 'date_moved': time.strftime('%Y-%m-%d'),
1950 'picking_id': pickid,
1951 'state': 'waiting',1950 'state': 'waiting',
1952 'company_id': company_id or res_obj._company_default_get(cr, uid, 'stock.company', context=context) ,1951 'company_id': company_id or res_obj._company_default_get(cr, uid, 'stock.company', context=context) ,
1953 'move_history_ids': [],1952 'move_history_ids': [],
@@ -1960,6 +1959,7 @@
1960 })1959 })
1961 new_moves.append(self.browse(cr, uid, [new_id])[0])1960 new_moves.append(self.browse(cr, uid, [new_id])[0])
1962 if pickid:1961 if pickid:
1962 move_obj.write(cr, uid, [m.id for m in new_moves], {'picking_id': pickid}, context=context)
1963 wf_service.trg_validate(uid, 'stock.picking', pickid, 'button_confirm', cr)1963 wf_service.trg_validate(uid, 'stock.picking', pickid, 'button_confirm', cr)
1964 if new_moves:1964 if new_moves:
1965 new_moves += self.create_chained_picking(cr, uid, new_moves, context)1965 new_moves += self.create_chained_picking(cr, uid, new_moves, context)