diff options
Diffstat (limited to 'addons')
26 files changed, 68 insertions, 45 deletions
diff --git a/addons/point_of_sale/controllers/main.py b/addons/point_of_sale/controllers/main.py index c358f427496..402529dc4ba 100644 --- a/addons/point_of_sale/controllers/main.py +++ b/addons/point_of_sale/controllers/main.py @@ -13,12 +13,15 @@ _logger = logging.getLogger(__name__) class PosController(http.Controller): - @http.route('/pos/web', type='http', auth='user') + @http.route(['/pos/web', '/pos/ui'], type='http', auth='user') def pos_web(self, config_id=False, **k): """Open a pos session for the given config. The right pos session will be selected to open, if non is open yet a new session will be created. + /pos/ui and /pos/web both can be used to acces the POS. On the SaaS, + /pos/ui uses HTTPS while /pos/web uses HTTP. + :param debug: The debug mode to load the session in. :type debug: str. :param config_id: id of the config that has to be loaded. @@ -56,7 +59,7 @@ class PosController(http.Controller): } return request.render('point_of_sale.index', qcontext=context) - @http.route('/pos/web/tests', type='http', auth="user") + @http.route('/pos/ui/tests', type='http', auth="user") def test_suite(self, mod=None, **kwargs): domain = [ ('state', '=', 'opened'), diff --git a/addons/point_of_sale/models/pos_config.py b/addons/point_of_sale/models/pos_config.py index dce3b6445b4..a9ecdba6463 100644 --- a/addons/point_of_sale/models/pos_config.py +++ b/addons/point_of_sale/models/pos_config.py @@ -565,6 +565,12 @@ class PosConfig(models.Model): 'params': {'wait': True} } + def _force_http(self): + return False + + def _get_pos_base_url(self): + return '/pos/web' if self._force_http() else '/pos/ui' + # Methods to open the POS def open_ui(self): """Open the pos interface with config_id as an extra argument. @@ -579,7 +585,7 @@ class PosConfig(models.Model): self._validate_fields(set(self._fields) - {"cash_control"}) return { 'type': 'ir.actions.act_url', - 'url': '/pos/web?config_id=%d' % self.id, + 'url': self._get_pos_base_url() + '?config_id=%d' % self.id, 'target': 'self', } diff --git a/addons/point_of_sale/models/pos_session.py b/addons/point_of_sale/models/pos_session.py index 559aa782592..cf09cf3e2df 100644 --- a/addons/point_of_sale/models/pos_session.py +++ b/addons/point_of_sale/models/pos_session.py @@ -1010,7 +1010,7 @@ class PosSession(models.Model): return { 'type': 'ir.actions.act_url', 'target': 'self', - 'url': '/pos/web?config_id=%d' % self.config_id.id, + 'url': self.config_id._get_pos_base_url() + '?config_id=%d' % self.config_id.id, } def open_cashbox_pos(self): diff --git a/addons/point_of_sale/static/src/js/debug_manager.js b/addons/point_of_sale/static/src/js/debug_manager.js index bd0d45c5472..bcc9f60835f 100644 --- a/addons/point_of_sale/static/src/js/debug_manager.js +++ b/addons/point_of_sale/static/src/js/debug_manager.js @@ -13,7 +13,7 @@ odoo.define('point_of_sale.DebugManager.Backend', function(require) { name: _t('JS Tests'), target: 'new', type: 'ir.actions.act_url', - url: '/pos/web/tests?mod=*', + url: '/pos/ui/tests?mod=*', }); }, }); diff --git a/addons/point_of_sale/static/tests/tours/Chrome.tour.js b/addons/point_of_sale/static/tests/tours/Chrome.tour.js index f00af8fddd7..a1c992dec5b 100644 --- a/addons/point_of_sale/static/tests/tours/Chrome.tour.js +++ b/addons/point_of_sale/static/tests/tours/Chrome.tour.js @@ -99,5 +99,5 @@ odoo.define('point_of_sale.tour.Chrome', function (require) { PaymentScreen.do.clickValidate(); ReceiptScreen.check.isShown(); - Tour.register('ChromeTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('ChromeTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/point_of_sale/static/tests/tours/OrderManagementScreen.tour.js b/addons/point_of_sale/static/tests/tours/OrderManagementScreen.tour.js index e41b4d3b687..cfd6483a9af 100644 --- a/addons/point_of_sale/static/tests/tours/OrderManagementScreen.tour.js +++ b/addons/point_of_sale/static/tests/tours/OrderManagementScreen.tour.js @@ -134,5 +134,5 @@ odoo.define('point_of_sale.tour.OrderManagementScreen', function (require) { OrderManagementScreen.do.closeReceipt(); OrderManagementScreen.check.isNotHidden(); - Tour.register('OrderManagementScreenTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('OrderManagementScreenTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/point_of_sale/static/tests/tours/PaymentScreen.tour.js b/addons/point_of_sale/static/tests/tours/PaymentScreen.tour.js index cba1a4fa3e9..296fbd552bb 100644 --- a/addons/point_of_sale/static/tests/tours/PaymentScreen.tour.js +++ b/addons/point_of_sale/static/tests/tours/PaymentScreen.tour.js @@ -66,5 +66,5 @@ odoo.define('point_of_sale.tour.PaymentScreen', function (require) { PaymentScreen.check.changeIs('0.0'); PaymentScreen.check.validateButtonIsHighlighted(true); - Tour.register('PaymentScreenTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('PaymentScreenTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/point_of_sale/static/tests/tours/ProductConfigurator.tour.js b/addons/point_of_sale/static/tests/tours/ProductConfigurator.tour.js index 7afedbf6091..d3acf388142 100644 --- a/addons/point_of_sale/static/tests/tours/ProductConfigurator.tour.js +++ b/addons/point_of_sale/static/tests/tours/ProductConfigurator.tour.js @@ -62,5 +62,5 @@ odoo.define('point_of_sale.tour.ProductConfigurator', function (require) { ProductConfigurator.do.confirmAttributes(); ProductScreen.check.selectedOrderlineHas('Configurable Chair (Blue, Metal, Leather)', '1.0', '10.0'); - Tour.register('ProductConfiguratorTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('ProductConfiguratorTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/point_of_sale/static/tests/tours/ProductScreen.tour.js b/addons/point_of_sale/static/tests/tours/ProductScreen.tour.js index dc76cd82307..9d3dcc3f022 100644 --- a/addons/point_of_sale/static/tests/tours/ProductScreen.tour.js +++ b/addons/point_of_sale/static/tests/tours/ProductScreen.tour.js @@ -101,5 +101,5 @@ odoo.define('point_of_sale.tour.ProductScreen', function (require) { ProductScreen.do.pressNumpad('Backspace'); ProductScreen.check.orderIsEmpty(); - Tour.register('ProductScreenTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('ProductScreenTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/point_of_sale/static/tests/tours/ReceiptScreen.tour.js b/addons/point_of_sale/static/tests/tours/ReceiptScreen.tour.js index d15f24b5089..2e330a9a9f5 100644 --- a/addons/point_of_sale/static/tests/tours/ReceiptScreen.tour.js +++ b/addons/point_of_sale/static/tests/tours/ReceiptScreen.tour.js @@ -57,5 +57,5 @@ odoo.define('point_of_sale.tour.ReceiptScreen', function (require) { ReceiptScreen.check.totalAmountContains('$ 30.00 + $ 1.00 tip'); ReceiptScreen.do.clickNextOrder(); - Tour.register('ReceiptScreenTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('ReceiptScreenTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/point_of_sale/static/tests/tours/TicketScreen.tour.js b/addons/point_of_sale/static/tests/tours/TicketScreen.tour.js index 4bf05d02fdd..a26c0b36608 100644 --- a/addons/point_of_sale/static/tests/tours/TicketScreen.tour.js +++ b/addons/point_of_sale/static/tests/tours/TicketScreen.tour.js @@ -50,5 +50,5 @@ odoo.define('point_of_sale.tour.TicketScreen', function (require) { TicketScreen.do.search('Receipt Number', '-0003'); TicketScreen.check.nthRowContains(2, 'Receipt'); - Tour.register('TicketScreenTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('TicketScreenTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/point_of_sale/static/tests/tours/point_of_sale.js b/addons/point_of_sale/static/tests/tours/point_of_sale.js index 28312bcd64e..fe2b8e5e663 100644 --- a/addons/point_of_sale/static/tests/tours/point_of_sale.js +++ b/addons/point_of_sale/static/tests/tours/point_of_sale.js @@ -213,7 +213,7 @@ odoo.define('point_of_sale.tour.pricelist', function (require) { run: function() {}, //it's a check, }]); - Tour.register('pos_pricelist', { test: true, url: '/pos/web' }, steps); + Tour.register('pos_pricelist', { test: true, url: '/pos/ui' }, steps); }); odoo.define('point_of_sale.tour.acceptance', function (require) { @@ -430,6 +430,6 @@ odoo.define('point_of_sale.tour.acceptance', function (require) { run: function() {}, //it's a check, }]); - Tour.register('pos_basic_order', { test: true, url: '/pos/web' }, steps); + Tour.register('pos_basic_order', { test: true, url: '/pos/ui' }, steps); }); diff --git a/addons/point_of_sale/tests/test_frontend.py b/addons/point_of_sale/tests/test_frontend.py index a65d4d6bd9e..80a699e7467 100644 --- a/addons/point_of_sale/tests/test_frontend.py +++ b/addons/point_of_sale/tests/test_frontend.py @@ -480,7 +480,7 @@ class TestUi(TestPointOfSaleHttpCommon): 'tip_product_id': self.tip.id, }) - # open a session, the /pos/web controller will redirect to it + # open a session, the /pos/ui controller will redirect to it self.main_pos_config.open_session_cb(check_coa=False) # needed because tests are run before the module is marked as @@ -489,11 +489,11 @@ class TestUi(TestPointOfSaleHttpCommon): # this you end up with js, css but no qweb. self.env['ir.module.module'].search([('name', '=', 'point_of_sale')], limit=1).state = 'installed' - self.start_tour("/pos/web?config_id=%d" % self.main_pos_config.id, 'pos_pricelist', login="admin") - self.start_tour("/pos/web?config_id=%d" % self.main_pos_config.id, 'pos_basic_order', login="admin") - self.start_tour("/pos/web?config_id=%d" % self.main_pos_config.id, 'ProductScreenTour', login="admin") - self.start_tour("/pos/web?config_id=%d" % self.main_pos_config.id, 'PaymentScreenTour', login="admin") - self.start_tour("/pos/web?config_id=%d" % self.main_pos_config.id, 'ReceiptScreenTour', login="admin") + self.start_tour("/pos/ui?config_id=%d" % self.main_pos_config.id, 'pos_pricelist', login="admin") + self.start_tour("/pos/ui?config_id=%d" % self.main_pos_config.id, 'pos_basic_order', login="admin") + self.start_tour("/pos/ui?config_id=%d" % self.main_pos_config.id, 'ProductScreenTour', login="admin") + self.start_tour("/pos/ui?config_id=%d" % self.main_pos_config.id, 'PaymentScreenTour', login="admin") + self.start_tour("/pos/ui?config_id=%d" % self.main_pos_config.id, 'ReceiptScreenTour', login="admin") for order in self.env['pos.order'].search([]): self.assertEqual(order.state, 'paid', "Validated order has payment of " + str(order.amount_paid) + " and total of " + str(order.amount_total)) @@ -504,7 +504,7 @@ class TestUi(TestPointOfSaleHttpCommon): def test_02_pos_with_invoiced(self): self.main_pos_config.open_session_cb(check_coa=False) - self.start_tour("/pos/web?config_id=%d" % self.main_pos_config.id, 'ChromeTour', login="admin", step_delay=50) + self.start_tour("/pos/ui?config_id=%d" % self.main_pos_config.id, 'ChromeTour', login="admin", step_delay=50) n_invoiced = self.env['pos.order'].search_count([('state', '=', 'invoiced')]) n_paid = self.env['pos.order'].search_count([('state', '=', 'paid')]) self.assertEqual(n_invoiced, 1, 'There should be 1 invoiced order.') @@ -513,13 +513,13 @@ class TestUi(TestPointOfSaleHttpCommon): def test_03_order_management(self): self.main_pos_config.write({ 'manage_orders': True, 'module_account': True }) self.main_pos_config.open_session_cb(check_coa=False) - self.start_tour("/pos/web?config_id=%d" % self.main_pos_config.id, 'OrderManagementScreenTour', login="admin", step_delay=50) + self.start_tour("/pos/ui?config_id=%d" % self.main_pos_config.id, 'OrderManagementScreenTour', login="admin", step_delay=50) def test_04_product_configurator(self): self.main_pos_config.write({ 'product_configurator': True }) self.main_pos_config.open_session_cb(check_coa=False) - self.start_tour("/pos/web?config_id=%d" % self.main_pos_config, 'ProductConfiguratorTour', login="admin", step_delay=50) + self.start_tour("/pos/ui?config_id=%d" % self.main_pos_config, 'ProductConfiguratorTour', login="admin", step_delay=50) def test_05_ticket_screen(self): self.main_pos_config.open_session_cb(check_coa=False) - self.start_tour("/pos/web?config_id=%d" % self.main_pos_config.id, 'TicketScreenTour', login="admin", step_delay=50) + self.start_tour("/pos/ui?config_id=%d" % self.main_pos_config.id, 'TicketScreenTour', login="admin", step_delay=50) diff --git a/addons/point_of_sale/tests/test_js.py b/addons/point_of_sale/tests/test_js.py index c021075b95a..560e4d402e7 100644 --- a/addons/point_of_sale/tests/test_js.py +++ b/addons/point_of_sale/tests/test_js.py @@ -13,10 +13,10 @@ class WebSuite(odoo.tests.HttpCase): self.main_pos_config = env.ref('point_of_sale.pos_config_main') def test_pos_js(self): - # open a session, the /pos/web controller will redirect to it + # open a session, the /pos/ui controller will redirect to it self.main_pos_config.open_session_cb(check_coa=False) # point_of_sale desktop test suite self.browser_js( - "/pos/web/tests?mod=web&failfast", "", "", login="admin", timeout=1800 + "/pos/ui/tests?mod=web&failfast", "", "", login="admin", timeout=1800 ) diff --git a/addons/pos_hr/static/tests/tours/PosHrTour.js b/addons/pos_hr/static/tests/tours/PosHrTour.js index df4cc2be6da..ca96f846df1 100644 --- a/addons/pos_hr/static/tests/tours/PosHrTour.js +++ b/addons/pos_hr/static/tests/tours/PosHrTour.js @@ -49,5 +49,5 @@ odoo.define('point_of_sale.tour.PosHr', function (require) { NumberPopup.do.clickConfirm(); ProductScreen.check.isShown(); - Tour.register('PosHrTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('PosHrTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/pos_hr/tests/test_frontend.py b/addons/pos_hr/tests/test_frontend.py index 9afcd78897a..70b9fbd7268 100644 --- a/addons/pos_hr/tests/test_frontend.py +++ b/addons/pos_hr/tests/test_frontend.py @@ -43,11 +43,11 @@ class TestPosHrHttpCommon(TestPointOfSaleHttpCommon): @tagged("post_install", "-at_install") class TestUi(TestPosHrHttpCommon): def test_01_pos_hr_tour(self): - # open a session, the /pos/web controller will redirect to it + # open a session, the /pos/ui controller will redirect to it self.main_pos_config.open_session_cb(check_coa=False) self.start_tour( - "/pos/web?config_id=%d" % self.main_pos_config.id, + "/pos/ui?config_id=%d" % self.main_pos_config.id, "PosHrTour", login="admin", ) diff --git a/addons/pos_restaurant/static/tests/tours/ControlButtons.tour.js b/addons/pos_restaurant/static/tests/tours/ControlButtons.tour.js index f26d4f79b29..3b6e499a97a 100644 --- a/addons/pos_restaurant/static/tests/tours/ControlButtons.tour.js +++ b/addons/pos_restaurant/static/tests/tours/ControlButtons.tour.js @@ -44,5 +44,5 @@ odoo.define('pos_restaurant.tour.ControlButtons', function (require) { BillScreen.check.isShown(); BillScreen.do.clickBack(); - Tour.register('ControlButtonsTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('ControlButtonsTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/pos_restaurant/static/tests/tours/FloorScreen.tour.js b/addons/pos_restaurant/static/tests/tours/FloorScreen.tour.js index 93a7a2c8ea6..f4e12080305 100644 --- a/addons/pos_restaurant/static/tests/tours/FloorScreen.tour.js +++ b/addons/pos_restaurant/static/tests/tours/FloorScreen.tour.js @@ -105,5 +105,5 @@ odoo.define('pos_restaurant.tour.FloorScreen', function (require) { FloorScreen.do.clickTable('T1'); Chrome.check.backToFloorTextIs('Second Floor', 'T1'); - Tour.register('FloorScreenTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('FloorScreenTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/pos_restaurant/static/tests/tours/OrderManagementScreen.tour.js b/addons/pos_restaurant/static/tests/tours/OrderManagementScreen.tour.js index 5cedaba0a14..cac1822f4af 100644 --- a/addons/pos_restaurant/static/tests/tours/OrderManagementScreen.tour.js +++ b/addons/pos_restaurant/static/tests/tours/OrderManagementScreen.tour.js @@ -120,5 +120,5 @@ odoo.define('pos_restaurant.tour.OrderManagementScreen', function (require) { ProductScreen.check.totalAmountIs('44'); Chrome.check.backToFloorTextIs('Main Floor', 'T2'); - Tour.register('PosResOrderManagementScreenTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('PosResOrderManagementScreenTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/pos_restaurant/static/tests/tours/SplitBillScreen.tour.js b/addons/pos_restaurant/static/tests/tours/SplitBillScreen.tour.js index cf09ebf0a4b..8b9c0f7d6e0 100644 --- a/addons/pos_restaurant/static/tests/tours/SplitBillScreen.tour.js +++ b/addons/pos_restaurant/static/tests/tours/SplitBillScreen.tour.js @@ -48,5 +48,5 @@ odoo.define('pos_restaurant.tour.SplitBillScreen', function (require) { ProductScreen.do.clickOrderline('Water', '2.0') ProductScreen.do.clickOrderline('Minute Maid', '3.0') - Tour.register('SplitBillScreenTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('SplitBillScreenTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js b/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js index 790ae060777..6f176d84173 100644 --- a/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js +++ b/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js @@ -40,5 +40,5 @@ odoo.define('pos_restaurant.tour.TicketScreen', function (require) { ProductScreen.check.totalAmountIs('2.0'); Chrome.check.backToFloorTextIs('Main Floor', 'T2'); - Tour.register('PosResTicketScreenTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('PosResTicketScreenTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/pos_restaurant/static/tests/tours/TipScreen.tour.js b/addons/pos_restaurant/static/tests/tours/TipScreen.tour.js index 0cbc2d63fad..430c7a2f12c 100644 --- a/addons/pos_restaurant/static/tests/tours/TipScreen.tour.js +++ b/addons/pos_restaurant/static/tests/tours/TipScreen.tour.js @@ -119,5 +119,5 @@ odoo.define('pos_restaurant.tour.TipScreen', function (require) { PaymentScreen.do.clickValidate(); ReceiptScreen.check.isShown(); - Tour.register('PosResTipScreenTour', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('PosResTipScreenTour', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/pos_restaurant/static/tests/tours/pos_restaurant.js b/addons/pos_restaurant/static/tests/tours/pos_restaurant.js index 252e9834e63..03b7c86e572 100644 --- a/addons/pos_restaurant/static/tests/tours/pos_restaurant.js +++ b/addons/pos_restaurant/static/tests/tours/pos_restaurant.js @@ -64,7 +64,7 @@ odoo.define('pos_reataurant.tour.synchronized_table_management', function (requi // There should be 1 synced draft order. FloorScreen.check.orderCountSyncedInTableIs('T5', '1'); - Tour.register('pos_restaurant_sync', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('pos_restaurant_sync', { test: true, url: '/pos/ui' }, getSteps()); startSteps(); @@ -104,5 +104,5 @@ odoo.define('pos_reataurant.tour.synchronized_table_management', function (requi Chrome.do.backToFloor(); FloorScreen.check.orderCountSyncedInTableIs('T4', '1'); - Tour.register('pos_restaurant_sync_second_login', { test: true, url: '/pos/web' }, getSteps()); + Tour.register('pos_restaurant_sync_second_login', { test: true, url: '/pos/ui' }, getSteps()); }); diff --git a/addons/pos_restaurant/tests/test_frontend.py b/addons/pos_restaurant/tests/test_frontend.py index 5c740c4cda2..710e226b678 100644 --- a/addons/pos_restaurant/tests/test_frontend.py +++ b/addons/pos_restaurant/tests/test_frontend.py @@ -158,12 +158,12 @@ class TestFrontend(odoo.tests.HttpCase): self.pos_config.with_user(self.env.ref('base.user_admin')).open_session_cb(check_coa=False) - self.start_tour("/pos/web?config_id=%d" % self.pos_config.id, 'pos_restaurant_sync', login="admin") + self.start_tour("/pos/ui?config_id=%d" % self.pos_config.id, 'pos_restaurant_sync', login="admin") self.assertEqual(1, self.env['pos.order'].search_count([('amount_total', '=', 4.4), ('state', '=', 'draft')])) self.assertEqual(1, self.env['pos.order'].search_count([('amount_total', '=', 4.4), ('state', '=', 'paid')])) - self.start_tour("/pos/web?config_id=%d" % self.pos_config.id, 'pos_restaurant_sync_second_login', login="admin") + self.start_tour("/pos/ui?config_id=%d" % self.pos_config.id, 'pos_restaurant_sync_second_login', login="admin") self.assertEqual(0, self.env['pos.order'].search_count([('amount_total', '=', 4.4), ('state', '=', 'draft')])) self.assertEqual(1, self.env['pos.order'].search_count([('amount_total', '=', 2.2), ('state', '=', 'draft')])) @@ -171,23 +171,23 @@ class TestFrontend(odoo.tests.HttpCase): def test_02_others(self): self.pos_config.with_user(self.env.ref('base.user_admin')).open_session_cb(check_coa=False) - self.start_tour("/pos/web?config_id=%d" % self.pos_config.id, 'SplitBillScreenTour', login="admin") - self.start_tour("/pos/web?config_id=%d" % self.pos_config.id, 'ControlButtonsTour', login="admin") - self.start_tour("/pos/web?config_id=%d" % self.pos_config.id, 'FloorScreenTour', login="admin") + self.start_tour("/pos/ui?config_id=%d" % self.pos_config.id, 'SplitBillScreenTour', login="admin") + self.start_tour("/pos/ui?config_id=%d" % self.pos_config.id, 'ControlButtonsTour', login="admin") + self.start_tour("/pos/ui?config_id=%d" % self.pos_config.id, 'FloorScreenTour', login="admin") def test_03_order_management_integration(self): self.pos_config.write({'manage_orders': True}) self.pos_config.with_user(self.env.ref('base.user_admin')).open_session_cb(check_coa=False) - self.start_tour("/pos/web?config_id=%d" % self.pos_config.id, 'PosResOrderManagementScreenTour', login="admin", step_delay=50) + self.start_tour("/pos/ui?config_id=%d" % self.pos_config.id, 'PosResOrderManagementScreenTour', login="admin", step_delay=50) def test_04_ticket_screen(self): self.pos_config.with_user(self.env.ref('base.user_admin')).open_session_cb(check_coa=False) - self.start_tour("/pos/web?config_id=%d" % self.pos_config.id, 'PosResTicketScreenTour', login="admin", step_delay=50) + self.start_tour("/pos/ui?config_id=%d" % self.pos_config.id, 'PosResTicketScreenTour', login="admin", step_delay=50) def test_05_tip_screen(self): self.pos_config.write({'set_tip_after_payment': True, 'iface_tipproduct': True, 'tip_product_id': self.env.ref('point_of_sale.product_product_tip')}) self.pos_config.with_user(self.env.ref('base.user_admin')).open_session_cb(check_coa=False) - self.start_tour("/pos/web?config_id=%d" % self.pos_config.id, 'PosResTipScreenTour', login="admin", step_delay=50) + self.start_tour("/pos/ui?config_id=%d" % self.pos_config.id, 'PosResTipScreenTour', login="admin", step_delay=50) order1 = self.env['pos.order'].search([('pos_reference', 'ilike', '%-0001')]) order2 = self.env['pos.order'].search([('pos_reference', 'ilike', '%-0002')]) diff --git a/addons/pos_six/models/__init__.py b/addons/pos_six/models/__init__.py index 54035f9421c..77e4db1fdaf 100644 --- a/addons/pos_six/models/__init__.py +++ b/addons/pos_six/models/__init__.py @@ -1,4 +1,5 @@ # coding: utf-8 # Part of Odoo. See LICENSE file for full copyright and licensing details. +from . import pos_config from . import pos_payment_method diff --git a/addons/pos_six/models/pos_config.py b/addons/pos_six/models/pos_config.py new file mode 100644 index 00000000000..6d986b2d3ab --- /dev/null +++ b/addons/pos_six/models/pos_config.py @@ -0,0 +1,13 @@ +# coding: utf-8 +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models + + +class PosConfig(models.Model): + _inherit = 'pos.config' + + def _force_http(self): + if self.payment_method_ids.filtered(lambda pm: pm.use_payment_terminal == 'six'): + return True + return super(PosConfig, self)._force_http() |
