summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/point_of_sale/controllers/main.py7
-rw-r--r--addons/point_of_sale/models/pos_config.py8
-rw-r--r--addons/point_of_sale/models/pos_session.py2
-rw-r--r--addons/point_of_sale/static/src/js/debug_manager.js2
-rw-r--r--addons/point_of_sale/static/tests/tours/Chrome.tour.js2
-rw-r--r--addons/point_of_sale/static/tests/tours/OrderManagementScreen.tour.js2
-rw-r--r--addons/point_of_sale/static/tests/tours/PaymentScreen.tour.js2
-rw-r--r--addons/point_of_sale/static/tests/tours/ProductConfigurator.tour.js2
-rw-r--r--addons/point_of_sale/static/tests/tours/ProductScreen.tour.js2
-rw-r--r--addons/point_of_sale/static/tests/tours/ReceiptScreen.tour.js2
-rw-r--r--addons/point_of_sale/static/tests/tours/TicketScreen.tour.js2
-rw-r--r--addons/point_of_sale/static/tests/tours/point_of_sale.js4
-rw-r--r--addons/point_of_sale/tests/test_frontend.py20
-rw-r--r--addons/point_of_sale/tests/test_js.py4
-rw-r--r--addons/pos_hr/static/tests/tours/PosHrTour.js2
-rw-r--r--addons/pos_hr/tests/test_frontend.py4
-rw-r--r--addons/pos_restaurant/static/tests/tours/ControlButtons.tour.js2
-rw-r--r--addons/pos_restaurant/static/tests/tours/FloorScreen.tour.js2
-rw-r--r--addons/pos_restaurant/static/tests/tours/OrderManagementScreen.tour.js2
-rw-r--r--addons/pos_restaurant/static/tests/tours/SplitBillScreen.tour.js2
-rw-r--r--addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js2
-rw-r--r--addons/pos_restaurant/static/tests/tours/TipScreen.tour.js2
-rw-r--r--addons/pos_restaurant/static/tests/tours/pos_restaurant.js4
-rw-r--r--addons/pos_restaurant/tests/test_frontend.py16
-rw-r--r--addons/pos_six/models/__init__.py1
-rw-r--r--addons/pos_six/models/pos_config.py13
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()