From 5171e1c29f404e5f29d693fa8e2abd13f0fa9de9 Mon Sep 17 00:00:00 2001 From: Joel Grand-Guillaume Date: Mon, 29 Jul 2013 15:41:11 +0200 Subject: [PATCH 1/8] [ADD] stock_location_ownership: first steps of the module (/tmp/trunk-generic/ rev 15.2.3) (/tmp/7.0-add-sale_sourced_and_stock_ownership rev 21) --- stock_location_ownership/__init__.py | 22 +++++++ stock_location_ownership/__openerp__.py | 58 +++++++++++++++++++ stock_location_ownership/model/__init__.py | 23 ++++++++ stock_location_ownership/model/sale.py | 52 +++++++++++++++++ stock_location_ownership/model/stock.py | 34 +++++++++++ .../test/sale_order_not_sourced.yml | 38 ++++++++++++ .../test/sale_order_source.yml | 40 +++++++++++++ stock_location_ownership/view/sale_view.xml | 16 +++++ stock_location_ownership/view/stock_view.xml | 15 +++++ 9 files changed, 298 insertions(+) create mode 100644 stock_location_ownership/__init__.py create mode 100644 stock_location_ownership/__openerp__.py create mode 100644 stock_location_ownership/model/__init__.py create mode 100644 stock_location_ownership/model/sale.py create mode 100644 stock_location_ownership/model/stock.py create mode 100644 stock_location_ownership/test/sale_order_not_sourced.yml create mode 100644 stock_location_ownership/test/sale_order_source.yml create mode 100644 stock_location_ownership/view/sale_view.xml create mode 100644 stock_location_ownership/view/stock_view.xml diff --git a/stock_location_ownership/__init__.py b/stock_location_ownership/__init__.py new file mode 100644 index 000000000..643bee7ab --- /dev/null +++ b/stock_location_ownership/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Guewen Baconnier +# Copyright 2013 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from . import model diff --git a/stock_location_ownership/__openerp__.py b/stock_location_ownership/__openerp__.py new file mode 100644 index 000000000..f36f889b3 --- /dev/null +++ b/stock_location_ownership/__openerp__.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Guewen Baconnier +# Copyright 2013 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +{'name': 'Stock Location Ownership', + 'version': '0.1', + 'author': 'Camptocamp', + 'category': 'Warehouse', + 'license': 'AGPL-3', + 'complexity': 'normal', + 'images': [], + 'website': "http://www.camptocamp.com", + 'description': """ + Stock Location Ownership +========================= + +* Adds an ownership on a location + +* (To move/create in module: sale_sourced_by_line) Adds the possibility to source a line of sale order from a specific location instead of +using the location of the warehouse of the selected shop + + * Further on (to move/create in module: sale_ownership) will trigger under certain circonstances the creation of a PO: +a) if customer != stock.location owner (Dispatch VCI, Dispatch PNS) +then generate also PO and link it with picking (delivery order) +b) if customer == stock.location owner (Dispatch PNS to NS) +then SO should be with prices at 0 + add manually line for handling fee" + +""", + 'depends': ['sale_dropshipping', + 'sale_stock', + ], + 'demo': [], + 'data': ['view/stock_view.xml', + 'view/sale_view.xml', + ], + 'auto_install': False, + 'test': ['test/sale_order_source.yml', + 'test/sale_order_not_sourced.yml', + ], + 'installable': True, + } diff --git a/stock_location_ownership/model/__init__.py b/stock_location_ownership/model/__init__.py new file mode 100644 index 000000000..3feab2db1 --- /dev/null +++ b/stock_location_ownership/model/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Guewen Baconnier +# Copyright 2013 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from . import stock +from . import sale diff --git a/stock_location_ownership/model/sale.py b/stock_location_ownership/model/sale.py new file mode 100644 index 000000000..fb1070fa3 --- /dev/null +++ b/stock_location_ownership/model/sale.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Guewen Baconnier +# Copyright 2013 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp.osv import orm, fields + + +class sale_order(orm.Model): + _inherit = 'sale.order' + + def _prepare_order_line_move(self, cr, uid, order, line, picking_id, + date_planned, context=None): + values = super(sale_order, self)._prepare_order_line_move( + cr, uid, order, line, picking_id, date_planned, context=context) + if line.location_id: + values['location_id'] = line.location_id.id + return values + + def _prepare_order_line_procurement(self, cr, uid, order, line, move_id, date_planned, context=None): + values = super(sale_order, self)._prepare_order_line_procurement( + cr, uid, order, line, move_id, date_planned, context=context) + if line.location_id: + values['location_id'] = line.location_id.id + return values + +class sale_order_line(orm.Model): + _inherit = 'sale.order.line' + + _columns = { + 'location_id': fields.many2one( + 'stock.location', + 'Source Location', + help="If a source location is selected, " + "it will be used as source of the stock moves. "), + } diff --git a/stock_location_ownership/model/stock.py b/stock_location_ownership/model/stock.py new file mode 100644 index 000000000..5a7e46e28 --- /dev/null +++ b/stock_location_ownership/model/stock.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Guewen Baconnier +# Copyright 2013 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp.osv import orm, fields + + +class stock_location(orm.Model): + _inherit = 'stock.location' + + _columns = { + 'owner_id': fields.many2one( + 'res.partner', + 'Owner', + help="Owner of the location if different from the company " + "or address."), + } diff --git a/stock_location_ownership/test/sale_order_not_sourced.yml b/stock_location_ownership/test/sale_order_not_sourced.yml new file mode 100644 index 000000000..97aca450f --- /dev/null +++ b/stock_location_ownership/test/sale_order_not_sourced.yml @@ -0,0 +1,38 @@ +- + In order to check if the source location of a sale order line + still use the location of the shop if not specified on the + sale order line. +- + !record {model: sale.order, id: sale_notsourced_01}: + partner_id: base.res_partner_2 + note: Invoice after delivery + order_line: + - product_id: product.product_product_7 + product_uom_qty: 8 +- + When I confirm the sale order +- + !workflow {model: sale.order, action: order_confirm, ref: sale_notsourced_01} +- + Then a delivery order should have been generated +- + !python {model: sale.order}: | + sale_order = self.browse(cr, uid, ref("sale_notsourced_01")) + assert len(sale_order.picking_ids) == 1, ( + "1 delivery order expected, got %d" % len(sale_order.picking_ids)) +- + And the source location of the stock move should be the one of + the sales order's shop +- + !python {model: sale.order}: | + sale_order = self.browse(cr, uid, ref("sale_notsourced_01")) + picking = sale_order.picking_ids[0] + location_id = sale_order.shop_id.warehouse_id.lot_stock_id + for move in picking.move_lines: + assert move.location_id == location_id, ( + "Wrong location_id, expected %s, got %s" % + (location_id, move.location_id)) + for procurement in move.procurements: + assert procurement.location_id == location_id, ( + "Wrong location_id in procurement.order, expected %s, got %s" % + (location_id, procurement.location_id)) diff --git a/stock_location_ownership/test/sale_order_source.yml b/stock_location_ownership/test/sale_order_source.yml new file mode 100644 index 000000000..ac2572cd1 --- /dev/null +++ b/stock_location_ownership/test/sale_order_source.yml @@ -0,0 +1,40 @@ +- + In order to check if the source location of a sale order line + becomes the source location of the delivery stock move. + I create a sale order. +- + !record {model: sale.order, id: sale_source_01}: + partner_id: base.res_partner_2 + note: Invoice after delivery + order_line: + - product_id: product.product_product_7 + product_uom_qty: 8 + location_id: stock.stock_location_shop1 +- + When I confirm the sale order +- + !workflow {model: sale.order, action: order_confirm, ref: sale_source_01} +- + Then a delivery order should have been generated +- + !python {model: sale.order}: | + sale_order = self.browse(cr, uid, ref("sale_source_01")) + assert len(sale_order.picking_ids) == 1, ( + "1 delivery order expected, got %d" % len(sale_order.picking_ids)) +- + And the source location of the stock move should be the one of + the sale order line +- + !python {model: sale.order}: | + sale_order = self.browse(cr, uid, ref("sale_source_01")) + picking = sale_order.picking_ids[0] + for move in picking.move_lines: + expected_location_id = move.sale_line_id.location_id + assert move.location_id == expected_location_id, ( + "Wrong location_id in stock.move, expected %s, got %s" % + (expected_location_id, move.location_id)) + for procurement in move.procurements: + assert procurement.location_id == expected_location_id, ( + "Wrong location_id in procurement.order, expected %s, got %s" % + (expected_location_id, procurement.location_id)) + diff --git a/stock_location_ownership/view/sale_view.xml b/stock_location_ownership/view/sale_view.xml new file mode 100644 index 000000000..0319887ef --- /dev/null +++ b/stock_location_ownership/view/sale_view.xml @@ -0,0 +1,16 @@ + + + + + sale.order.form + sale.order + + + + + + + + + diff --git a/stock_location_ownership/view/stock_view.xml b/stock_location_ownership/view/stock_view.xml new file mode 100644 index 000000000..a6df89d22 --- /dev/null +++ b/stock_location_ownership/view/stock_view.xml @@ -0,0 +1,15 @@ + + + + + stock.location.form + stock.location + + + + + + + + + From 8a0e858a5637431dd23816edf488b1adb315c8f3 Mon Sep 17 00:00:00 2001 From: Joel Grand-Guillaume Date: Tue, 30 Jul 2013 23:18:22 +0200 Subject: [PATCH 2/8] [ADD] Source location on form view (/tmp/trunk-generic/ rev 15.2.4) (/tmp/7.0-add-sale_sourced_and_stock_ownership rev 22) --- stock_location_ownership/view/sale_view.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/stock_location_ownership/view/sale_view.xml b/stock_location_ownership/view/sale_view.xml index 0319887ef..c60e8d3cb 100644 --- a/stock_location_ownership/view/sale_view.xml +++ b/stock_location_ownership/view/sale_view.xml @@ -12,5 +12,16 @@ + + sale.order.form + sale.order + + + + + + + From 8c2b6d0079148c05402afefdc14b2e3403ebc0b8 Mon Sep 17 00:00:00 2001 From: Joel Grand-Guillaume Date: Tue, 30 Jul 2013 11:23:16 +0200 Subject: [PATCH 3/8] [MRG] From last head of trunk (/tmp/trunk-generic/ rev 15.3.3) (/tmp/7.0-add-sale_sourced_and_stock_ownership rev 23) --- stock_location_ownership/view/sale_view.xml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/stock_location_ownership/view/sale_view.xml b/stock_location_ownership/view/sale_view.xml index c60e8d3cb..0319887ef 100644 --- a/stock_location_ownership/view/sale_view.xml +++ b/stock_location_ownership/view/sale_view.xml @@ -12,16 +12,5 @@ - - sale.order.form - sale.order - - - - - - - From 968f90a0fb52cbdbfda7507d6de385bde5fbadd7 Mon Sep 17 00:00:00 2001 From: nbessi-c2c Date: Wed, 31 Jul 2013 14:16:32 +0200 Subject: [PATCH 4/8] =?UTF-8?q?[MRG]=C2=A0from=20trunk=20=20=20(/tmp/trunk?= =?UTF-8?q?-generic/=20rev=2015.3.4)=20(/tmp/7.0-add-sale=5Fsourced=5Fand?= =?UTF-8?q?=5Fstock=5Fownership=20rev=2024)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stock_location_ownership/view/sale_view.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/stock_location_ownership/view/sale_view.xml b/stock_location_ownership/view/sale_view.xml index 0319887ef..c60e8d3cb 100644 --- a/stock_location_ownership/view/sale_view.xml +++ b/stock_location_ownership/view/sale_view.xml @@ -12,5 +12,16 @@ + + sale.order.form + sale.order + + + + + + + From dc6cfdec2d25ed9311da761e9a741c7ce258b34b Mon Sep 17 00:00:00 2001 From: Guewen Baconnier Date: Tue, 6 Aug 2013 17:07:18 +0200 Subject: [PATCH 5/8] [CHG] extract the sourcing part from stock_location_ownership in a module sale_sourced_by_line (/tmp/trunk-generic/ rev 27) (/tmp/7.0-add-sale_sourced_and_stock_ownership rev 25) --- stock_location_ownership/__openerp__.py | 24 +++++----------------- stock_location_ownership/model/__init__.py | 1 - 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/stock_location_ownership/__openerp__.py b/stock_location_ownership/__openerp__.py index f36f889b3..bcd2582c0 100644 --- a/stock_location_ownership/__openerp__.py +++ b/stock_location_ownership/__openerp__.py @@ -28,31 +28,17 @@ 'images': [], 'website': "http://www.camptocamp.com", 'description': """ - Stock Location Ownership -========================= - -* Adds an ownership on a location - -* (To move/create in module: sale_sourced_by_line) Adds the possibility to source a line of sale order from a specific location instead of -using the location of the warehouse of the selected shop - - * Further on (to move/create in module: sale_ownership) will trigger under certain circonstances the creation of a PO: -a) if customer != stock.location owner (Dispatch VCI, Dispatch PNS) -then generate also PO and link it with picking (delivery order) -b) if customer == stock.location owner (Dispatch PNS to NS) -then SO should be with prices at 0 + add manually line for handling fee" +Stock Location Ownership +======================== +Adds an ownership on the stock locations """, - 'depends': ['sale_dropshipping', - 'sale_stock', + 'depends': ['stock', ], 'demo': [], 'data': ['view/stock_view.xml', - 'view/sale_view.xml', ], + 'test': [], 'auto_install': False, - 'test': ['test/sale_order_source.yml', - 'test/sale_order_not_sourced.yml', - ], 'installable': True, } diff --git a/stock_location_ownership/model/__init__.py b/stock_location_ownership/model/__init__.py index 3feab2db1..8f66ed0bc 100644 --- a/stock_location_ownership/model/__init__.py +++ b/stock_location_ownership/model/__init__.py @@ -20,4 +20,3 @@ ############################################################################## from . import stock -from . import sale From 1e6a2c33d746ed4a6cc99d33fb1b0baf4855491d Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 8 Nov 2013 15:58:10 +0100 Subject: [PATCH 6/8] [PEP8] (/tmp/7.0-add-sale_sourced_and_stock_ownership rev 29) --- stock_location_ownership/model/sale.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/stock_location_ownership/model/sale.py b/stock_location_ownership/model/sale.py index fb1070fa3..954d98950 100644 --- a/stock_location_ownership/model/sale.py +++ b/stock_location_ownership/model/sale.py @@ -33,13 +33,15 @@ class sale_order(orm.Model): values['location_id'] = line.location_id.id return values - def _prepare_order_line_procurement(self, cr, uid, order, line, move_id, date_planned, context=None): + def _prepare_order_line_procurement(self, cr, uid, order, line, move_id, date_planned, + context=None): values = super(sale_order, self)._prepare_order_line_procurement( cr, uid, order, line, move_id, date_planned, context=context) if line.location_id: values['location_id'] = line.location_id.id return values + class sale_order_line(orm.Model): _inherit = 'sale.order.line' From c5180a8135a54b930b6e307df3bde64e9000e62a Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 25 Nov 2013 12:37:16 +0100 Subject: [PATCH 7/8] [ADD] sale_stock_ownership From 19952870948cb82359db554c78288b7e6697280e Mon Sep 17 00:00:00 2001 From: Guewen Baconnier Date: Wed, 11 Dec 2013 21:02:21 +0100 Subject: [PATCH 8/8] [FIX] remove python modules and views related to sale, added by error during extraction --- stock_location_ownership/model/sale.py | 54 ------------------- .../test/sale_order_not_sourced.yml | 38 ------------- .../test/sale_order_source.yml | 40 -------------- stock_location_ownership/view/sale_view.xml | 27 ---------- 4 files changed, 159 deletions(-) delete mode 100644 stock_location_ownership/model/sale.py delete mode 100644 stock_location_ownership/test/sale_order_not_sourced.yml delete mode 100644 stock_location_ownership/test/sale_order_source.yml delete mode 100644 stock_location_ownership/view/sale_view.xml diff --git a/stock_location_ownership/model/sale.py b/stock_location_ownership/model/sale.py deleted file mode 100644 index 954d98950..000000000 --- a/stock_location_ownership/model/sale.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Guewen Baconnier -# Copyright 2013 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -from openerp.osv import orm, fields - - -class sale_order(orm.Model): - _inherit = 'sale.order' - - def _prepare_order_line_move(self, cr, uid, order, line, picking_id, - date_planned, context=None): - values = super(sale_order, self)._prepare_order_line_move( - cr, uid, order, line, picking_id, date_planned, context=context) - if line.location_id: - values['location_id'] = line.location_id.id - return values - - def _prepare_order_line_procurement(self, cr, uid, order, line, move_id, date_planned, - context=None): - values = super(sale_order, self)._prepare_order_line_procurement( - cr, uid, order, line, move_id, date_planned, context=context) - if line.location_id: - values['location_id'] = line.location_id.id - return values - - -class sale_order_line(orm.Model): - _inherit = 'sale.order.line' - - _columns = { - 'location_id': fields.many2one( - 'stock.location', - 'Source Location', - help="If a source location is selected, " - "it will be used as source of the stock moves. "), - } diff --git a/stock_location_ownership/test/sale_order_not_sourced.yml b/stock_location_ownership/test/sale_order_not_sourced.yml deleted file mode 100644 index 97aca450f..000000000 --- a/stock_location_ownership/test/sale_order_not_sourced.yml +++ /dev/null @@ -1,38 +0,0 @@ -- - In order to check if the source location of a sale order line - still use the location of the shop if not specified on the - sale order line. -- - !record {model: sale.order, id: sale_notsourced_01}: - partner_id: base.res_partner_2 - note: Invoice after delivery - order_line: - - product_id: product.product_product_7 - product_uom_qty: 8 -- - When I confirm the sale order -- - !workflow {model: sale.order, action: order_confirm, ref: sale_notsourced_01} -- - Then a delivery order should have been generated -- - !python {model: sale.order}: | - sale_order = self.browse(cr, uid, ref("sale_notsourced_01")) - assert len(sale_order.picking_ids) == 1, ( - "1 delivery order expected, got %d" % len(sale_order.picking_ids)) -- - And the source location of the stock move should be the one of - the sales order's shop -- - !python {model: sale.order}: | - sale_order = self.browse(cr, uid, ref("sale_notsourced_01")) - picking = sale_order.picking_ids[0] - location_id = sale_order.shop_id.warehouse_id.lot_stock_id - for move in picking.move_lines: - assert move.location_id == location_id, ( - "Wrong location_id, expected %s, got %s" % - (location_id, move.location_id)) - for procurement in move.procurements: - assert procurement.location_id == location_id, ( - "Wrong location_id in procurement.order, expected %s, got %s" % - (location_id, procurement.location_id)) diff --git a/stock_location_ownership/test/sale_order_source.yml b/stock_location_ownership/test/sale_order_source.yml deleted file mode 100644 index ac2572cd1..000000000 --- a/stock_location_ownership/test/sale_order_source.yml +++ /dev/null @@ -1,40 +0,0 @@ -- - In order to check if the source location of a sale order line - becomes the source location of the delivery stock move. - I create a sale order. -- - !record {model: sale.order, id: sale_source_01}: - partner_id: base.res_partner_2 - note: Invoice after delivery - order_line: - - product_id: product.product_product_7 - product_uom_qty: 8 - location_id: stock.stock_location_shop1 -- - When I confirm the sale order -- - !workflow {model: sale.order, action: order_confirm, ref: sale_source_01} -- - Then a delivery order should have been generated -- - !python {model: sale.order}: | - sale_order = self.browse(cr, uid, ref("sale_source_01")) - assert len(sale_order.picking_ids) == 1, ( - "1 delivery order expected, got %d" % len(sale_order.picking_ids)) -- - And the source location of the stock move should be the one of - the sale order line -- - !python {model: sale.order}: | - sale_order = self.browse(cr, uid, ref("sale_source_01")) - picking = sale_order.picking_ids[0] - for move in picking.move_lines: - expected_location_id = move.sale_line_id.location_id - assert move.location_id == expected_location_id, ( - "Wrong location_id in stock.move, expected %s, got %s" % - (expected_location_id, move.location_id)) - for procurement in move.procurements: - assert procurement.location_id == expected_location_id, ( - "Wrong location_id in procurement.order, expected %s, got %s" % - (expected_location_id, procurement.location_id)) - diff --git a/stock_location_ownership/view/sale_view.xml b/stock_location_ownership/view/sale_view.xml deleted file mode 100644 index c60e8d3cb..000000000 --- a/stock_location_ownership/view/sale_view.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - sale.order.form - sale.order - - - - - - - - - sale.order.form - sale.order - - - - - - - - -