Since frontend to backend commit [1], links having `enable_editor=1` to enable edit mode were not working anymore in certain cases. Case 1 [OK]*: From frontend, click on `enable_editor=1` link without `/@/` in it. Case 2 [OK]: From frontend, click on `enable_editor=1` link with `/@/` in it. Case 3 [KO]*: From backend, click on `enable_editor=1` link without `/@/` in it. Case 4 [KO]: From backend, click on `enable_editor=1` link with `/@/` in it. This commit fixes case 4 and adds a test for all cases, while leaving case 3 commented as it will be fixed later with a larger fix related to URL change listener. * Note that we will probably change the behavior for case 1 and 3: if the version with /@/ + enable_editor=1 enters edit mode properly in both frontend and backend contexts (case 2 and 4), it's probably not worth having code to support case 1 and 3. The issue for case 4 was that it was trying to load the whole Odoo app inside of website preview iframe instead of making the parent window load that URL. [1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b closes odoo/odoo#96054 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
25 lines
891 B
Python
25 lines
891 B
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
import odoo.tests
|
|
|
|
|
|
@odoo.tests.common.tagged('post_install', '-at_install')
|
|
class TestClientAction(odoo.tests.HttpCase):
|
|
|
|
def test_01_client_action_redirect(self):
|
|
page = self.env['website.page'].create({
|
|
'name': 'Base',
|
|
'type': 'qweb',
|
|
'arch': """
|
|
<t t-call="website.layout">
|
|
<a id="test_contact_BE" href="/@/contactus?enable_editor=1">Contact</a>
|
|
<a id="test_contact_FE" href="/contactus?enable_editor=1">Contact</a>
|
|
</t>
|
|
""",
|
|
'key': 'website.test_client_action_redirect',
|
|
'url': '/test_client_action_redirect',
|
|
'is_published': True,
|
|
})
|
|
self.start_tour(page.url, 'client_action_redirect', login='admin')
|