From ec101c5a357012c37e36e683578e012176795086 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Valyi?= Date: Mon, 3 Oct 2011 11:25:54 -0300 Subject: [PATCH] [REF] sale: more explicit method names, added docstring on main non trivial method bzr revid: rvalyi@gmail.com-20111003142554-yest0alzq00h83b7 --- addons/sale/sale.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 3e7e58c72c6..8cf54f4057e 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -673,8 +673,7 @@ class sale_order(osv.osv): return False return canceled - - def _prepare_proc(self, cr, uid, order, line, move_id, date_planned, *args): + def _prepare_order_line_procurement(self, cr, uid, order, line, move_id, date_planned, *args): return { 'name': line.name, 'origin': order.name, @@ -694,8 +693,7 @@ class sale_order(osv.osv): 'sale_line_id': line.id, } - - def _prepare_move(self, cr, uid, order, line, picking_id, date_planned, *args): + def _prepare_order_line_move(self, cr, uid, order, line, picking_id, date_planned, *args): location_id = order.shop_id.warehouse_id.lot_stock_id.id output_id = order.shop_id.warehouse_id.lot_output_id.id return { @@ -722,9 +720,7 @@ class sale_order(osv.osv): 'price_unit': line.product_id.standard_price or 0.0 } - - - def _prepare_picking(self, cr, uid, order, *args): + def _prepare_order_picking(self, cr, uid, order, *args): pick_name = self.pool.get('ir.sequence').get(cr, uid, 'stock.picking.out') return { 'name': pick_name, @@ -739,8 +735,18 @@ class sale_order(osv.osv): 'company_id': order.company_id.id, } - def _create_pickings_an_procurements(self, cr, uid, order, order_lines, picking_id=False, *args): + """ + Create pickings and procurements for given order lines. Filtering the order lines allows to partition the delivery + over several pickings. + + :param cr: database cursor + :param uid: current user id + :param order: sale order object + :param order_lines: sale order line objects + :param picking_id: id of picking to use evenually + :return: True + """ proc_ids = [] for line in order_lines: if line.state == 'done': @@ -752,12 +758,12 @@ class sale_order(osv.osv): if line.product_id: if line.product_id.product_tmpl_id.type in ('product', 'consu'): if not picking_id: - picking_id = self.pool.get('stock.picking').create(cr, uid, self._prepare_picking(cr, uid, order, args)) - move_id = self.pool.get('stock.move').create(cr, uid, self._prepare_move(cr, uid, order, line, picking_id, date_planned, args)) + picking_id = self.pool.get('stock.picking').create(cr, uid, self._prepare_order_picking(cr, uid, order, args)) + move_id = self.pool.get('stock.move').create(cr, uid, self._prepare_order_line_move(cr, uid, order, line, picking_id, date_planned, args)) else: #a service has no stock move move_id = False - proc_id = self.pool.get('procurement.order').create(cr, uid, self._prepare_proc(cr, uid, order, line, move_id, date_planned, args)) + proc_id = self.pool.get('procurement.order').create(cr, uid, self._prepare_order_line_procurement(cr, uid, order, line, move_id, date_planned, args)) proc_ids.append(proc_id) if order.state == 'shipping_except': #deals with potentially cancelled shipments FIXME seems broken, see below