diff --git a/addons/portal/static/src/less/website.ui.less b/addons/portal/static/src/less/website.ui.less
index c4b57e018bf..d5f508d18a5 100644
--- a/addons/portal/static/src/less/website.ui.less
+++ b/addons/portal/static/src/less/website.ui.less
@@ -64,3 +64,12 @@ body.o_connected_user {
}
}
}
+
+// TODO should be a common backend/frontend style
+div.o_checkbox {
+ display: inline-block;
+ vertical-align: sub;
+ > input + span {
+ display: none;
+ }
+}
diff --git a/addons/web/static/src/js/core/dom.js b/addons/web/static/src/js/core/dom.js
index da125aa72af..6ca13f18e4e 100644
--- a/addons/web/static/src/js/core/dom.js
+++ b/addons/web/static/src/js/core/dom.js
@@ -265,19 +265,19 @@ return {
* @returns {jQuery}
*/
renderCheckbox: function (options) {
- var $container = $('
');
+ var $container = $('
');
if (options && options.prop) {
- $container.find('input').prop(options.prop);
+ $container.children('input').prop(options.prop);
}
if (options && options.text) {
- $container.find('label').append(
+ $container = $('').append(
+ $container,
$('', {
+ class: 'ml8',
text: options.text,
- class: 'o_checkbox_label',
})
);
}
-
return $container;
},
/**
diff --git a/addons/web/static/src/less/webclient_extra.less b/addons/web/static/src/less/webclient_extra.less
index 2f4e03e9479..7c337352618 100644
--- a/addons/web/static/src/less/webclient_extra.less
+++ b/addons/web/static/src/less/webclient_extra.less
@@ -4,17 +4,8 @@
div.o_checkbox {
display: inline-block;
vertical-align: sub;
- margin-top: 0px;
- margin-bottom: 0px;
- input[type="checkbox"] {
- position: inherit;
- margin-left: 0;
- }
- > label {
- padding-left: 0px;
- > input + span {
- display: none;
- }
+ > input + span {
+ display: none;
}
}
diff --git a/addons/web/static/tests/views/form_tests.js b/addons/web/static/tests/views/form_tests.js
index 16370559aad..6a3fdb0fbea 100644
--- a/addons/web/static/tests/views/form_tests.js
+++ b/addons/web/static/tests/views/form_tests.js
@@ -1741,10 +1741,10 @@ QUnit.module('Views', {
res_id: 1,
});
- assert.strictEqual(form.$("label:not(.o_checkbox label)").length, 2, "should have rendered only two label");
- assert.strictEqual(form.$("label:not(.o_checkbox label)").first().text(), "Product",
+ assert.strictEqual(form.$("label").length, 2, "should have rendered only two label");
+ assert.strictEqual(form.$("label").first().text(), "Product",
"one should be the one for the product field");
- assert.strictEqual(form.$("label:not(.o_checkbox label)").eq(1).text(), "Bar",
+ assert.strictEqual(form.$("label").eq(1).text(), "Bar",
"one should be the one for the bar field");
assert.strictEqual(form.$('.firstgroup td').first().attr('colspan'), undefined,
@@ -3787,7 +3787,7 @@ QUnit.module('Views', {
"button box should contain two children");
assert.strictEqual(form.$('.oe_button_box .oe_stat_button').length, 1,
"button box should only contain one button");
- assert.strictEqual(form.$('.oe_button_box label:not(.o_checkbox label)').length, 1,
+ assert.strictEqual(form.$('.oe_button_box label').length, 1,
"button box should only contain one label");
form.destroy();