diff --git a/addons/account_anglo_saxon/test/anglo_saxon.yml b/addons/account_anglo_saxon/test/anglo_saxon.yml index 6e9ebc0068e..3ea85fc0d73 100644 --- a/addons/account_anglo_saxon/test/anglo_saxon.yml +++ b/addons/account_anglo_saxon/test/anglo_saxon.yml @@ -123,10 +123,9 @@ - Reception is ready for process so now done the reception. - - !python {model: stock.partial.picking}: | - pick_ids = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_001")).picking_ids - partial_id = self.create(cr, uid, {},context={'active_model': 'stock.picking','active_ids': [pick_ids[0].id]}) - self.do_partial(cr, uid, [partial_id]) + !python {model: stock.picking}: | + picking_id = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_001")).picking_ids[0] + picking_id.do_partial(context=context) - I check the Stock Interim account (Received) is credited successfully. - @@ -189,7 +188,6 @@ - !record {model: stock.picking, id: stock_picking_out001}: partner_id: base.res_partner_13 - invoice_state: 2binvoiced move_lines: - company_id: base.main_company location_id: stock.stock_location_stock @@ -198,29 +196,28 @@ product_uom: product.product_uom_unit location_dest_id: stock.stock_location_customers move_type: direct - type: out + picking_type_id: stock.picking_type_out - I need to check the availability of the product, So I make my picking order for processing later. - !python {model: stock.picking}: | - self.draft_force_assign(cr, uid, [ref("stock_picking_out001")], {"lang": "en_US", "search_default_available": - 1, "tz": False, "active_model": "ir.ui.menu", "contact_display": "partner", - "active_ids": [ref("stock.menu_action_picking_tree")], "active_id": ref("stock.menu_action_picking_tree"), - }) + self.action_confirm(cr, uid, [ref('stock_picking_out001')], context=context) + - I check the product availability, Product is available in the stock and ready to be sent. - !python {model: stock.picking}: | - self.action_assign(cr, uid, [ref("stock_picking_out001")], {"lang": "en_US", "search_default_available": - 1, "tz": False, "active_model": "ir.ui.menu", "contact_display": "partner", - "active_ids": [ref("stock.menu_action_picking_tree")], "active_id": ref("stock.menu_action_picking_tree"), - }) + picking = self.browse(cr, uid, ref("stock_picking_out001")) + assert picking.state == "confirmed", "Picking should be confirmed." + for move_line in picking.move_lines: + assert move_line.state == "confirmed", "Move should be confirmed." + - I process the delivery. - - !python {model: stock.partial.picking}: | - partial_id = self.create(cr, uid, {}, context={'active_model':'stock.picking','active_ids':[ref('stock_picking_out001')]}) - self.do_partial(cr, uid, [partial_id]) + !python {model: stock.picking}: | + picking = self.pool.get('stock.picking').browse(cr, uid, ref("stock_picking_out001")) + picking.do_partial(context=context) - I check Stock Interim account (Delivery) is debited successfully. - diff --git a/addons/account_anglo_saxon/test/anglo_saxon_avg_fifo.yml b/addons/account_anglo_saxon/test/anglo_saxon_avg_fifo.yml index f7d52f4f5a8..bb6200e148b 100644 --- a/addons/account_anglo_saxon/test/anglo_saxon_avg_fifo.yml +++ b/addons/account_anglo_saxon/test/anglo_saxon_avg_fifo.yml @@ -131,10 +131,9 @@ - Reception is ready for process so now done the reception. - - !python {model: stock.partial.picking}: | - pick_ids = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_001_fifo")).picking_ids - partial_id = self.create(cr, uid, {},context={'active_model': 'stock.picking','active_ids': [pick_ids[0].id]}) - self.do_partial(cr, uid, [partial_id]) + !python {model: stock.picking}: | + picking_id = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_001_fifo")).picking_ids[0] + picking_id.do_partial(context=context) - I check the Stock Interim account (Received) is credit successfully. - @@ -192,7 +191,6 @@ - !record {model: stock.picking, id: stock_picking_out001_fifo}: partner_id: base.res_partner_13 - invoice_state: 2binvoiced move_lines: - company_id: base.main_company location_id: stock.stock_location_stock @@ -200,29 +198,26 @@ product_qty: 1.0 location_dest_id: stock.stock_location_customers move_type: direct - type: out + picking_type_id: stock.picking_type_out - I need to check the availability of the product, So I make my picking order for processing later. - !python {model: stock.picking}: | - self.draft_force_assign(cr, uid, [ref("stock_picking_out001_fifo")], {"lang": "en_US", "search_default_available": - 1, "tz": False, "active_model": "ir.ui.menu", "contact_display": "partner", - "active_ids": [ref("stock.menu_action_picking_tree")], "active_id": ref("stock.menu_action_picking_tree"), - }) + self.action_confirm(cr, uid, [ref('stock_picking_out001')], context=context) - I check the product availability, Product is available in the stock and ready to be sent. - !python {model: stock.picking}: | - self.action_assign(cr, uid, [ref("stock_picking_out001_fifo")], {"lang": "en_US", "search_default_available": - 1, "tz": False, "active_model": "ir.ui.menu", "contact_display": "partner", - "active_ids": [ref("stock.menu_action_picking_tree")], "active_id": ref("stock.menu_action_picking_tree"), - }) + picking = self.browse(cr, uid, ref("stock_picking_out001")) + assert picking.state == "confirmed", "Picking should be confirmed." + for move_line in picking.move_lines: + assert move_line.state == "confirmed", "Move should be confirmed." - I process the delivery. - - !python {model: stock.partial.picking}: | - partial_id = self.create(cr, uid, {}, context={'active_model':'stock.picking','active_ids':[ref('stock_picking_out001_fifo')]}) - self.do_partial(cr, uid, [partial_id]) + !python {model: stock.picking}: | + picking = self.pool.get('stock.picking').browse(cr, uid, ref("stock_picking_out001_fifo")) + picking.do_partial(context=context) - I check Stock Interim account (Delivery) is debited successfully. - diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index 2782f822149..591f65cf925 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -700,7 +700,7 @@ class pos_order(osv.osv): picking_id = picking_obj.create(cr, uid, { 'origin': order.name, 'partner_id': addr.get('delivery',False), - 'type': 'out', + 'picking_type_id': self.pool.get('ir.model.data').get_object(cr, uid, 'stock', 'picking_type_out', context=context).id, 'company_id': order.company_id.id, 'move_type': 'direct', 'note': order.note or "", diff --git a/addons/point_of_sale/wizard/pos_return.py b/addons/point_of_sale/wizard/pos_return.py index eeba6cab676..fac55c593e7 100644 --- a/addons/point_of_sale/wizard/pos_return.py +++ b/addons/point_of_sale/wizard/pos_return.py @@ -213,7 +213,7 @@ class add_product(osv.osv_memory): 'name':'%s (Added)' %order_id.name, 'move_lines':[], 'state':'draft', - 'type':'out', + 'picking_type_id': self.pool.get('ir.model.data').get_object(cr, uid, 'stock', 'picking_type_out', context=context).id, 'date':date_cur }) stock_move_obj.create(cr, uid, { diff --git a/addons/purchase/__openerp__.py b/addons/purchase/__openerp__.py index 56512be09da..a0bb133dd46 100644 --- a/addons/purchase/__openerp__.py +++ b/addons/purchase/__openerp__.py @@ -81,7 +81,6 @@ Dashboard / Reports for Purchase Management will include: 'test/ui/duplicate_order.yml', 'test/ui/delete_order.yml', 'test/average_price.yml', - 'test/lifo_price.yml', ], 'demo': [ 'purchase_order_demo.yml', diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 79df9f31103..660b70a488c 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -150,6 +150,10 @@ class purchase_order(osv.osv): limit=1) return res and res[0] or False + def _get_picking_in(self, cr, uid, context=None): + obj_data = self.pool.get('ir.model.data') + return obj_data.get_object_reference(cr, uid, 'stock','picking_type_in')[1] + STATE_SELECTION = [ ('draft', 'Draft PO'), ('sent', 'RFQ Sent'), @@ -230,6 +234,7 @@ class purchase_order(osv.osv): 'journal_id': fields.many2one('account.journal', 'Journal'), 'bid_date': fields.date('Bid Received On', readonly=True, help="Date on which the bid was received"), 'bid_validity': fields.date('Bid Valid Until', help="Date on which the bid expired"), + 'picking_type_id': fields.many2one('stock.picking.type', 'Picking Type', help="This will determine picking type of incoming shipment"), } _defaults = { 'date_order': fields.date.context_today, @@ -241,7 +246,8 @@ class purchase_order(osv.osv): 'pricelist_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').browse(cr, uid, context['partner_id']).property_product_pricelist_purchase.id, 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'purchase.order', context=c), 'journal_id': _get_journal, - 'currency_id': lambda self, cr, uid, context: self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.currency_id.id + 'currency_id': lambda self, cr, uid, context: self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.currency_id.id, + 'picking_type_id': _get_picking_in, } _sql_constraints = [ ('name_uniq', 'unique(name, company_id)', 'Order Reference must be unique per Company!'), diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml index e3af7bd6243..973757770c4 100644 --- a/addons/purchase/purchase_view.xml +++ b/addons/purchase/purchase_view.xml @@ -198,6 +198,7 @@ + diff --git a/addons/purchase/test/average_price.yml b/addons/purchase/test/average_price.yml index 0fa2dfb0a4f..79bae838f7e 100644 --- a/addons/purchase/test/average_price.yml +++ b/addons/purchase/test/average_price.yml @@ -55,10 +55,9 @@ - Process the reception of purchase order 1 - - !python {model: stock.partial.picking}: | + !python {model: stock.picking}: | pick_ids = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_average1")).picking_ids - partial_id = self.create(cr, uid, {}, context={'active_model': 'stock.picking','active_ids': [pick_ids[0].id]}) - self.do_partial(cr, uid, [partial_id]) + self.do_partial(cr, uid, [pick_ids[0].id]) - Check the standard price of the product (average icecream). - @@ -69,10 +68,9 @@ - Process the reception of purchase order 2 - - !python {model: stock.partial.picking}: | + !python {model: stock.picking}: | pick_ids = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_average2")).picking_ids - partial_id = self.create(cr, uid, {}, context={'active_model': 'stock.picking','active_ids': [pick_ids[0].id]}) - self.do_partial(cr, uid, [partial_id]) + self.do_partial(cr, uid, [pick_ids[0].id]) - Check the standard price - @@ -82,7 +80,7 @@ Create picking to send some goods - !record {model: stock.picking, id: outgoing_average_shipment}: - type: out + picking_type_id: stock.picking_type_out - Create move for picking - @@ -91,18 +89,12 @@ product_id: product_average_icecream product_uom: product.product_uom_kgm product_qty: 20.0 - type: out - - I assign this outgoing shipment + I assign this outgoing shipment and process the delivery - !python {model: stock.picking}: | self.action_assign(cr, uid, [ref("outgoing_average_shipment")]) -- - Process the delivery of the outgoing shipment -- - !python {model: stock.partial.picking}: | - partial_id = self.create(cr, uid, {}, context={'active_model': 'stock.picking','active_ids': [ref("outgoing_average_shipment")], 'default_type':'out'}) - self.do_partial(cr, uid, [partial_id]) + self.do_partial(cr, uid, [ref("outgoing_average_shipment")]) - Check the standard price (60 * 10 + 30 * 80) / 40 = 75.0 did not change - @@ -129,10 +121,9 @@ - Process the reception of purchase order 3 in grams - - !python {model: stock.partial.picking}: | + !python {model: stock.picking}: | pick_ids = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_average3")).picking_ids - partial_id = self.create(cr, uid, {}, context={'active_model': 'stock.picking','active_ids': [pick_ids[0].id]}) - self.do_partial(cr, uid, [partial_id]) + self.do_partial(cr, uid, [pick_ids[0].id]) - Check price is (75.0*20 + 500) / 20.5 = 97.56097561 - diff --git a/addons/purchase/test/process/generate_invoice_from_reception.yml b/addons/purchase/test/process/generate_invoice_from_reception.yml index 6390413b418..37cf615c6ec 100644 --- a/addons/purchase/test/process/generate_invoice_from_reception.yml +++ b/addons/purchase/test/process/generate_invoice_from_reception.yml @@ -11,9 +11,9 @@ - Now I create an invoice for order on reception. - - !python {model: stock.picking}: | - pick_ids = self.search(cr, uid, [('purchase_id','=',ref('purchase_order_2'))]) - self.action_invoice_create(cr, uid, pick_ids, ref('account.expenses_journal')) + !python {model: purchase.order}: | + pick_ids = [self.browse(cr, uid, ref("purchase_order_2")).id] + self.action_invoice_create(cr, uid, pick_ids) - I check that the invoice of order. - diff --git a/addons/purchase/test/process/rfq2order2done.yml b/addons/purchase/test/process/rfq2order2done.yml index ff9158b3c09..a6999686026 100644 --- a/addons/purchase/test/process/rfq2order2done.yml +++ b/addons/purchase/test/process/rfq2order2done.yml @@ -45,10 +45,9 @@ - Reception is ready for process so now done the reception. - - !python {model: stock.partial.picking}: | - pick_ids = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_1")).picking_ids - partial_id = self.create(cr, uid, {},context={'active_model': 'stock.picking','active_ids': [pick_ids[0].id]}) - self.do_partial(cr, uid, [partial_id]) + !python {model: stock.picking}: | + pick_ids = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_1")).picking_ids[0] + pick_ids.do_partial(context=context) - I check that purchase order is shipped. - diff --git a/addons/sale_stock/__init__.py b/addons/sale_stock/__init__.py index 9c74739d4c9..72b3d5672d5 100644 --- a/addons/sale_stock/__init__.py +++ b/addons/sale_stock/__init__.py @@ -20,9 +20,7 @@ ############################################################################## import sale_stock -import stock import report import company import res_config -import wizard diff --git a/addons/sale_stock/__openerp__.py b/addons/sale_stock/__openerp__.py index b1686bebb20..059c5a59c1d 100644 --- a/addons/sale_stock/__openerp__.py +++ b/addons/sale_stock/__openerp__.py @@ -51,7 +51,6 @@ You can choose flexible invoicing methods: 'security/sale_stock_security.xml', 'security/ir.model.access.csv', 'company_view.xml', - 'wizard/stock_invoice_onshipping_view.xml', 'sale_stock_view.xml', 'sale_stock_workflow.xml', 'stock_view.xml', diff --git a/addons/sale_stock/sale_stock_view.xml b/addons/sale_stock/sale_stock_view.xml index 03731bd737c..9e14ce46ce1 100644 --- a/addons/sale_stock/sale_stock_view.xml +++ b/addons/sale_stock/sale_stock_view.xml @@ -104,21 +104,7 @@ groups="sale.group_delivery_invoice_address" /> - - stock.picking.form.inherit - stock.picking - - - -