summaryrefslogtreecommitdiff
path: root/odoo/addons/test_new_api/static
diff options
context:
space:
mode:
authorqsm-odoo <qsm@odoo.com>2017-04-19 18:06:12 +0200
committerqsm-odoo <qsm@odoo.com>2017-05-04 12:07:30 +0200
commit250e716c3a12e88acb4a199b427dc47d4ec55d5d (patch)
tree0be849fd0af8d54f556af5f1274e641200ec82ef /odoo/addons/test_new_api/static
parent8943aae665ea906aa03bc30cada884c571738b7c (diff)
[REF] web, *: restore views design
Since the new views merge, a lot of design elements were broken. This was particularly impacting the fields in the editable list view; indeed the editable list view is not using an inline form view anymore so the fields in the list were not properly styled as the LESS was still defined assuming the form view environment (for example the invalid fields were red for o2m fields in form view but not in editable list view even though they got the right CSS class). This commit refactor the LESS following these rules: - No more division of non-layout and layout rules. Dividing LESS rules in x_layout.less and x.less was a mistake. Many rules can be considered to be layout and not layout at the same time, developers always have to switch from one file part to the other, many CSS selectors (and rules!) are duplicated for nothing, ... - Field style is extracted from x_view.less and put in the new fields.less file. As before, the fields_extra.less will contain the rules specific to community so that the enterprise repo can override those by replacing the whole file. - Many classes have been renamed so that o_form_x_y becomes o_x_y as many classes can now be applied outside of form view. These classes should not be used in templates anyway. The commit also changes the DOM of fields so that it is more minimalist (no useless parent div, etc). Input elements are not automatically styled anymore, they have to get the o_input class explicitely. This allows to fix lots of small style bugs of previous versions (required monetary field had not the proper style, readonly m2m tags appeared as editable, ...). This also improves the LESS code. The editable list view should also completely stop flickering on chrome and firefox. The commit also removes the orange outline on list view dirty cells. The commit also removes deprecated static xml, LESS and other code. Notice there are still styles to restore/fix and LESS to improve.
Diffstat (limited to 'odoo/addons/test_new_api/static')
-rw-r--r--odoo/addons/test_new_api/static/tests/x2many.js210
1 files changed, 105 insertions, 105 deletions
diff --git a/odoo/addons/test_new_api/static/tests/x2many.js b/odoo/addons/test_new_api/static/tests/x2many.js
index 613e6f04268..ea976330eb9 100644
--- a/odoo/addons/test_new_api/static/tests/x2many.js
+++ b/odoo/addons/test_new_api/static/tests/x2many.js
@@ -19,47 +19,47 @@ odoo.define('web.test.x2many', function (require) {
trigger: 'button.o_list_button_add',
}, {
content: "insert content",
- trigger: 'input.o_form_required',
+ trigger: 'input.o_required_modifier',
run: 'text test',
}, { // try to add a user with one2many form
content: "click on moderator one2many drop down",
- trigger: 'tr:contains(Moderator) .o_form_input_dropdown > input',
+ trigger: 'tr:contains(Moderator) .o_input_dropdown > input',
run: 'click',
}, {
content: "click on 'Create and Edit...'",
trigger: '.ui-autocomplete .o_m2o_dropdown_option:last',
}, {
content: "insert a name into the modal form",
- trigger: 'input.o_form_field.o_form_required:first',
+ trigger: 'input.o_field_widget.o_required_modifier:first',
extra_trigger: '.modal:visible',
run: function (action_helper) {
action_helper.text('user_test_' + (inc = new Date().getTime()));
}
}, {
content: "insert an email into the modal form",
- extra_trigger: 'input.o_form_field.o_form_required:propValueContains(user_test)',
- trigger: 'input.o_form_field.o_form_required:eq(1)',
+ extra_trigger: 'input.o_field_widget.o_required_modifier:propValueContains(user_test)',
+ trigger: 'input.o_field_widget.o_required_modifier:eq(1)',
run: function (action_helper) {
action_helper.text('user_test_' + inc + '@test');
}
}, {
content: "save the modal content and create the new moderator",
trigger: '.modal-footer button:contains(Save):first',
- extra_trigger: 'input.o_form_field.o_form_required:propValueContains(@test)',
+ extra_trigger: 'input.o_field_widget.o_required_modifier:propValueContains(@test)',
}, {
content: "check if the modal is saved",
- trigger: 'tr:contains(Moderator) .o_form_field_many2one input:propValueContains(user_test)',
+ trigger: 'tr:contains(Moderator) .o_field_many2one input:propValueContains(user_test)',
run: function () {}, // it's a check
}, {
content: "check the onchange from the o2m to the m2m",
- trigger: '.o_content:has(.tab-pane:eq(2) .o_form_field tbody tr td:contains(user_test))',
+ trigger: '.o_content:has(.tab-pane:eq(2) .o_field_widget tbody tr td:contains(user_test))',
run: function () {}, // it's a check
}, { // add ourself as participant
content: "change tab to Participants",
trigger: '[data-toggle="tab"]:contains(Participants)'
}, {
content: "click to add participants",
- trigger: '.tab-pane:eq(2).active .o_form_field_x2many_list_row_add a'
+ trigger: '.tab-pane:eq(2).active .o_field_x2many_list_row_add a'
}, {
content: "select Admin",
trigger: 'tr:has(td:containsExact(Administrator)) .o_list_record_selector input[type="checkbox"]'
@@ -70,7 +70,7 @@ odoo.define('web.test.x2many', function (require) {
}, { // save
content: "save discussion",
trigger: 'button.o_form_button_save',
- extra_trigger: '.tab-pane:eq(2) .o_form_field tbody tr:has(td:containsExact(Administrator))',
+ extra_trigger: '.tab-pane:eq(2) .o_field_widget tbody tr:has(td:containsExact(Administrator))',
}, { // edit
content: "edit discussion",
trigger: 'button.o_form_button_edit',
@@ -79,71 +79,71 @@ odoo.define('web.test.x2many', function (require) {
trigger: 'a[role=tab]:first',
}, {
content: "create new message a",
- trigger: '.tab-pane:eq(0) .o_form_field_x2many_list_row_add a'
+ trigger: '.tab-pane:eq(0) .o_field_x2many_list_row_add a'
}, {
content: "insert body a",
- trigger: '.modal-body .o_form_textarea textarea:first',
+ trigger: '.modal-body textarea:first',
run: 'text a',
}, {
content: "save new message a",
trigger: '.modal-footer button:contains(Save):first',
- extra_trigger: '.modal-body .o_form_textarea textarea:first:propValue(a)',
+ extra_trigger: '.modal-body textarea:first:propValue(a)',
}, { // add message b
content: "create new message b",
- trigger: '.tab-pane:eq(0) .o_form_field_x2many_list_row_add a',
- extra_trigger: '.o_web_client:has(.o_form_textarea[name="message_concat"] textarea:propValue([test] Administrator:a))',
+ trigger: '.tab-pane:eq(0) .o_field_x2many_list_row_add a',
+ extra_trigger: '.o_web_client:has(textarea[name="message_concat"]:propValue([test] Administrator:a))',
}, {
content: "insert body b",
- trigger: '.o_form_textarea[name="body"] textarea:first',
+ trigger: 'textarea[name="body"]:first',
run: 'text b',
}, {
content: "save new message b",
trigger: '.modal-footer button:contains(Save):first',
- extra_trigger: '.o_form_textarea[name="body"] textarea:first:propValue(b)',
+ extra_trigger: 'textarea[name="body"]:first:propValue(b)',
}, { // change content to trigger on change
content: "insert content",
- trigger: 'input.o_form_required',
- extra_trigger: '.o_form_textarea[name="message_concat"] textarea:first:propValue([test] Administrator:a\n[test] Administrator:b)',
+ trigger: 'input.o_required_modifier',
+ extra_trigger: 'textarea[name="message_concat"]:first:propValue([test] Administrator:a\n[test] Administrator:b)',
run: 'text test_trigger',
}, {
content: "blur the content field",
- trigger: 'input.o_form_required',
+ trigger: 'input.o_required_modifier',
run: 'text test_trigger',
}, {
content: "check onchange",
- trigger: '.o_form_textarea[name="message_concat"] textarea:first:propValue([test_trigger] Administrator:a\n[test_trigger] Administrator:b)',
+ trigger: 'textarea[name="message_concat"]:first:propValue([test_trigger] Administrator:a\n[test_trigger] Administrator:b)',
run: function () {},
}, { // change message b
content: "edit message b",
- trigger: '.tab-pane:eq(0) .o_form_field tbody tr td:containsExact(b)',
- extra_trigger: 'body:not(:has(.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(2))) .tab-pane:eq(0) .o_form_field tbody tr td:contains([test_trigger] )',
+ trigger: '.tab-pane:eq(0) .o_field_widget tbody tr td:containsExact(b)',
+ extra_trigger: 'body:not(:has(.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(2))) .tab-pane:eq(0) .o_field_widget tbody tr td:contains([test_trigger] )',
}, {
content: "change the body",
- trigger: '.o_form_textarea[name="body"] textarea:first',
+ trigger: 'textarea[name="body"]:first',
run: 'text bbb',
}, {
content: "save changes",
trigger: '.modal-footer button:contains(Save):first',
- extra_trigger: '.o_form_textarea[name="body"] textarea:first:propValue(bbb)',
+ extra_trigger: 'textarea[name="body"]:first:propValue(bbb)',
}, { // add message c
content: "create new message c",
- trigger: '.tab-pane:eq(0) .o_form_field_x2many_list_row_add a',
- extra_trigger: '.o_form_textarea[name="message_concat"] textarea:propValue([test_trigger] Administrator:a\n[test_trigger] Administrator:bbb)',
+ trigger: '.tab-pane:eq(0) .o_field_x2many_list_row_add a',
+ extra_trigger: 'textarea[name="message_concat"]:propValue([test_trigger] Administrator:a\n[test_trigger] Administrator:bbb)',
}, {
content: "insert body",
- trigger: '.o_form_textarea[name="body"] textarea:first',
+ trigger: 'textarea[name="body"]:first',
run: 'text c',
}, {
content: "save new message c",
trigger: '.modal-footer button:contains(Save):first',
- extra_trigger: '.o_form_textarea[name="body"] textarea:first:propValue(c)',
+ extra_trigger: 'textarea[name="body"]:first:propValue(c)',
}, { // add participants
content: "change tab to Participants",
trigger: '[data-toggle="tab"]:contains(Participants)',
- extra_trigger: '.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(2)',
+ extra_trigger: '.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(2)',
}, {
content: "click to add participants",
- trigger: '.tab-pane:eq(2).active .o_form_field_x2many_list_row_add a',
+ trigger: '.tab-pane:eq(2).active .o_field_x2many_list_row_add a',
}, {
content: "select Demo User",
trigger: 'tr:has(td:containsExact(Demo User)) .o_list_record_selector input[type="checkbox"]',
@@ -154,20 +154,20 @@ odoo.define('web.test.x2many', function (require) {
}, { // save
content: "save discussion",
trigger: 'button.o_form_button_save',
- extra_trigger: 'body:not(:has(.tab-pane:eq(2) .o_form_field tbody .o_data_row:eq(3))) .tab-pane:eq(2) .o_form_field tbody .o_data_row:eq(2)',
+ extra_trigger: 'body:not(:has(.tab-pane:eq(2) .o_field_widget tbody .o_data_row:eq(3))) .tab-pane:eq(2) .o_field_widget tbody .o_data_row:eq(2)',
}, { // check saved data
content: "check data 1",
- trigger: '.o_content:has(.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(2))',
- extra_trigger: 'body:not(:has(.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(3)))',
+ trigger: '.o_content:has(.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(2))',
+ extra_trigger: 'body:not(:has(.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(3)))',
run: function () {}, // it's a check
}, {
content: "check data 2",
- trigger: '.o_content:has(.tab-pane:eq(0) .o_form_field tr:has(td:containsExact(bbb)):has(td:containsExact([test_trigger] Administrator)))',
+ trigger: '.o_content:has(.tab-pane:eq(0) .o_field_widget tr:has(td:containsExact(bbb)):has(td:containsExact([test_trigger] Administrator)))',
run: function () {}, // it's a check
}, {
content: "check data 3",
- trigger: '.o_content:has(.tab-pane:eq(2) .o_form_field tbody .o_data_row:eq(2))',
- extra_trigger: 'body:not(:has(.tab-pane:eq(2) .o_form_field tbody .o_data_row:eq(3)))',
+ trigger: '.o_content:has(.tab-pane:eq(2) .o_field_widget tbody .o_data_row:eq(2))',
+ extra_trigger: 'body:not(:has(.tab-pane:eq(2) .o_field_widget tbody .o_data_row:eq(3)))',
run: function () {}, // it's a check
}, { // edit
content: "edit discussion",
@@ -178,47 +178,47 @@ odoo.define('web.test.x2many', function (require) {
extra_trigger: '.o_form_editable',
}, { // add message d
content: "create new message d",
- trigger: '.tab-pane:eq(0) .o_form_field_x2many_list_row_add a',
+ trigger: '.tab-pane:eq(0) .o_field_x2many_list_row_add a',
extra_trigger: 'li.active a[data-toggle="tab"]:contains(Messages)',
}, {
content: "insert body",
- trigger: '.o_form_textarea[name="body"] textarea:first',
+ trigger: 'textarea[name="body"]:first',
run: 'text d',
}, {
content: "save new message d",
trigger: '.modal-footer button:contains(Save):first',
- extra_trigger: '.o_form_textarea[name="body"] textarea:first:propValue(d)',
+ extra_trigger: 'textarea[name="body"]:first:propValue(d)',
}, { // add message e
content: "create new message e",
- trigger: '.tab-pane:eq(0) .o_form_field_x2many_list_row_add a',
- extra_trigger: '.tab-pane:eq(0) .o_form_field tbody tr td:containsExact(d)',
+ trigger: '.tab-pane:eq(0) .o_field_x2many_list_row_add a',
+ extra_trigger: '.tab-pane:eq(0) .o_field_widget tbody tr td:containsExact(d)',
}, {
content: "insert body",
- trigger: '.o_form_textarea[name="body"] textarea:first',
+ trigger: 'textarea[name="body"]:first',
run: 'text e',
}, {
content: "save new message e",
trigger: '.modal-footer button:contains(Save):first',
- extra_trigger: '.o_form_textarea[name="body"] textarea:first:propValue(e)',
+ extra_trigger: 'textarea[name="body"]:first:propValue(e)',
}, { // change message a
content: "edit message a",
- trigger: '.tab-pane:eq(0) .o_form_field tbody tr td:containsExact(a)',
- extra_trigger: '.tab-pane:eq(0) .o_form_field tbody tr td:containsExact(e)',
+ trigger: '.tab-pane:eq(0) .o_field_widget tbody tr td:containsExact(a)',
+ extra_trigger: '.tab-pane:eq(0) .o_field_widget tbody tr td:containsExact(e)',
}, {
content: "change the body",
- trigger: '.o_form_textarea[name="body"] textarea:first',
+ trigger: 'textarea[name="body"]:first',
run: 'text aaa',
}, {
content: "save changes",
trigger: '.modal-footer button:contains(Save):first',
- extra_trigger: '.o_form_textarea[name="body"] textarea:first:propValue(aaa)',
+ extra_trigger: 'textarea[name="body"]:first:propValue(aaa)',
}, { // change message e
content: "edit message e",
- trigger: '.tab-pane:eq(0) .o_form_field tbody tr td:containsExact(e)',
- extra_trigger: '.tab-pane:eq(0) .o_form_field tbody tr td:contains(aaa)',
+ trigger: '.tab-pane:eq(0) .o_field_widget tbody tr td:containsExact(e)',
+ extra_trigger: '.tab-pane:eq(0) .o_field_widget tbody tr td:contains(aaa)',
}, {
content: "open the many2one to select another user",
- trigger: '.o_form_input_dropdown > input',
+ trigger: '.o_input_dropdown > input',
run: 'text Demo',
}, {
content: "select another user",
@@ -226,11 +226,11 @@ odoo.define('web.test.x2many', function (require) {
in_modal: false,
}, {
content: "test one2many's line onchange after many2one",
- trigger: '.o_form_field:contains([test_trigger] Demo User)',
+ trigger: '.o_field_widget:contains([test_trigger] Demo User)',
run: function () {}, // it's a check
}, {
content: "test one2many field not triggered onchange",
- trigger: '.o_form_textarea[name="message_concat"] textarea:first:propValueContains([test_trigger] Administrator:e)',
+ trigger: 'textarea[name="message_concat"]:first:propValueContains([test_trigger] Administrator:e)',
in_modal: false,
run: function () {}, // don't change texarea content
}, {
@@ -238,16 +238,16 @@ odoo.define('web.test.x2many', function (require) {
trigger: '.modal-footer button:contains(Save):contains(Close)'
}, {
content: "test one2many triggered the onchange on save for the line",
- trigger: '.o_content:has(.tab-pane:eq(0) .o_form_field tbody tr td.o_readonly:contains([test_trigger] Demo User))',
+ trigger: '.o_content:has(.tab-pane:eq(0) .o_field_widget tbody tr td.o_readonly_modifier:contains([test_trigger] Demo User))',
run: function () {}, // it's a check
}, {
content: "test one2many triggered the onchange on save",
- trigger: '.o_form_textarea[name="message_concat"] textarea:first:propValueContains([test_trigger] Demo User:e)',
+ trigger: 'textarea[name="message_concat"]:first:propValueContains([test_trigger] Demo User:e)',
run: function () {}, // don't change texarea content
}, { // remove
content: "remove b",
- trigger: '.tab-pane:eq(0) .o_form_field tbody tr:has(td:containsExact(bbb)) .o_list_record_delete',
- extra_trigger: '.tab-pane:eq(0) .o_form_field tbody tr td:containsExact(aaa)',
+ trigger: '.tab-pane:eq(0) .o_field_widget tbody tr:has(td:containsExact(bbb)) .o_list_record_delete',
+ extra_trigger: '.tab-pane:eq(0) .o_field_widget tbody tr td:containsExact(aaa)',
}, {
content: "remove e",
trigger: 'tr:has(td:containsExact(e)) .o_list_record_delete',
@@ -258,32 +258,32 @@ odoo.define('web.test.x2many', function (require) {
extra_trigger: 'body:not(:has(tr:has(td:containsExact(e))))',
}, { // check saved data
content: "check data 4",
- trigger: '.o_content:not(:has(.tab-pane:eq(0) .o_form_field tbody tr:has(.o_list_record_delete):eq(4)))',
+ trigger: '.o_content:not(:has(.tab-pane:eq(0) .o_field_widget tbody tr:has(.o_list_record_delete):eq(4)))',
run: function () {}, // it's a check
}, {
content: "check data 5",
- trigger: '.o_content:has(.tab-pane:eq(0) .o_form_field tbody:has(tr td:containsExact(aaa)):has(tr td:containsExact(c)):has(tr td:containsExact(d)))',
+ trigger: '.o_content:has(.tab-pane:eq(0) .o_field_widget tbody:has(tr td:containsExact(aaa)):has(tr td:containsExact(c)):has(tr td:containsExact(d)))',
run: function () {}, // it's a check
}, {
content: "check data 6",
- trigger: '.o_content:has(.tab-pane:eq(0) .o_form_field tbody tr:has(td:containsExact([test_trigger] Administrator)):has(td:containsExact(aaa)))',
+ trigger: '.o_content:has(.tab-pane:eq(0) .o_field_widget tbody tr:has(td:containsExact([test_trigger] Administrator)):has(td:containsExact(aaa)))',
run: function () {}, // it's a check
}, {
content: "check data 7",
- trigger: '.o_content:has(.tab-pane:eq(2) .o_form_field tbody .o_data_row:eq(2))',
- extra_trigger: '.o_content:not(:has(.tab-pane:eq(2) .o_form_field tbody tr[date-id]:eq(3)))',
+ trigger: '.o_content:has(.tab-pane:eq(2) .o_field_widget tbody .o_data_row:eq(2))',
+ extra_trigger: '.o_content:not(:has(.tab-pane:eq(2) .o_field_widget tbody tr[date-id]:eq(3)))',
run: function () {}, // it's a check
}, { // edit
content: "edit discussion",
trigger: 'button.o_form_button_edit',
}, { // add message ddd
content: "create new message ddd",
- trigger: '.tab-pane:eq(0) .o_form_field_x2many_list_row_add a',
- extra_trigger: '.tab-pane:eq(0) .o_form_field tbody tr:has(td:containsExact(d))',
+ trigger: '.tab-pane:eq(0) .o_field_x2many_list_row_add a',
+ extra_trigger: '.tab-pane:eq(0) .o_field_widget tbody tr:has(td:containsExact(d))',
}, {
content: "select another user",
- trigger: '.o_form_field_many2one .o_form_input_dropdown > input',
- extra_trigger: 'body:has(.modal) .tab-pane:eq(0) .o_form_field tbody tr:has(td:containsExact(d))',
+ trigger: '.o_field_many2one .o_input_dropdown > input',
+ extra_trigger: 'body:has(.modal) .tab-pane:eq(0) .o_field_widget tbody tr:has(td:containsExact(d))',
run: 'text Demo',
}, {
content: "select demo user",
@@ -291,33 +291,33 @@ odoo.define('web.test.x2many', function (require) {
in_modal: false,
}, {
content: "test one2many's line onchange after many2one",
- trigger: '.o_form_field:contains([test_trigger] Demo User)',
+ trigger: '.o_field_widget:contains([test_trigger] Demo User)',
run: function () {}, // it's a check
}, {
content: "insert body",
- trigger: '.o_form_textarea[name="body"] textarea:first',
+ trigger: 'textarea[name="body"]:first',
run: 'text ddd',
}, {
content: "save new message ddd",
trigger: '.modal-footer button:contains(Save):first',
- extra_trigger: '.o_form_textarea[name="body"] textarea:first:propValue(ddd)',
+ extra_trigger: 'textarea[name="body"]:first:propValue(ddd)',
}, { // trigger onchange
content: "blur the one2many",
- trigger: 'input.o_form_required',
- extra_trigger: '.tab-pane:eq(0) .o_form_field tbody:has(tr td:containsExact(ddd))',
+ trigger: 'input.o_required_modifier',
+ extra_trigger: '.tab-pane:eq(0) .o_field_widget tbody:has(tr td:containsExact(ddd))',
}, { // check onchange data
content: "check data 8",
- trigger: '.o_form_textarea[name="message_concat"] textarea:propValueContains([test_trigger] Administrator:aaa\n[test_trigger] Administrator:c\n[test_trigger] Administrator:d\n[test_trigger] Demo User:ddd)',
+ trigger: 'textarea[name="message_concat"]:propValueContains([test_trigger] Administrator:aaa\n[test_trigger] Administrator:c\n[test_trigger] Administrator:d\n[test_trigger] Demo User:ddd)',
run: function () {}, // don't change texarea content
}, {
content: "check data 9",
- trigger: '.o_content:has(.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(3))',
- extra_trigger: 'body:not(:has(.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(4)))',
+ trigger: '.o_content:has(.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(3))',
+ extra_trigger: 'body:not(:has(.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(4)))',
run: function () {}, // it's a check
}, { // cancel
content: "cancel change",
trigger: '.o_cp_buttons .o_form_button_cancel',
- extra_trigger: '.tab-pane:eq(0) .o_form_field tbody:has(tr td:containsExact(ddd))',
+ extra_trigger: '.tab-pane:eq(0) .o_field_widget tbody:has(tr td:containsExact(ddd))',
run: 'click',
}, {
content: "confirm cancel change",
@@ -331,12 +331,12 @@ odoo.define('web.test.x2many', function (require) {
{
content: "switch to the second form view to test one2many with editable list (toggle menu dropdown)",
trigger: '.o_sub_menu .oe_secondary_submenu .oe_menu_leaf .oe_menu_text:containsExact(Discussions)',
- extra_trigger: '.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(2)',
+ extra_trigger: '.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(2)',
edition: 'community'
}, {
content: "switch to the second form view to test one2many with editable list (toggle menu dropdown)",
trigger: 'nav .o_menu_sections li a:containsExact(Discussions)',
- extra_trigger: '.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(2)',
+ extra_trigger: '.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(2)',
edition: 'enterprise'
}, {
content: "switch to the second form view to test one2many with editable list (open submenu)",
@@ -355,7 +355,7 @@ odoo.define('web.test.x2many', function (require) {
trigger: '.o_cp_buttons .o_form_button_edit',
}, {
content: "edit content",
- trigger: 'input.o_form_required',
+ trigger: 'input.o_required_modifier',
extra_trigger: ".o_form_editable",
run: 'text test_trigger2'
}, {
@@ -367,11 +367,11 @@ odoo.define('web.test.x2many', function (require) {
extra_trigger: '.o_list_view:contains(test_trigger2)',
}, {
content: "change text value",
- trigger: '.o_form_textarea[name="body"] textarea:first',
+ trigger: 'textarea[name="body"]:first',
run: 'text ccc'
}, {
content: "click on other field (trigger the line onchange)",
- trigger: '.o_list_view .o_form_field_many2one[name="author"] input',
+ trigger: '.o_list_view .o_field_many2one[name="author"] input',
run: 'click'
}, {
content: "test one2many's line onchange",
@@ -379,7 +379,7 @@ odoo.define('web.test.x2many', function (require) {
run: function () {}, // don't blur the many2one
}, {
content: "open the many2one to select an other user",
- trigger: '.o_list_view .o_form_field_many2one[name="author"] .o_form_input_dropdown > input',
+ trigger: '.o_list_view .o_field_many2one[name="author"] .o_input_dropdown > input',
run: 'text Demo',
}, {
content: "select an other user",
@@ -390,19 +390,19 @@ odoo.define('web.test.x2many', function (require) {
run: function () {}, // don't blur the many2one
}, {
content: "change text value",
- trigger: '.o_form_textarea[name="body"] textarea:first',
+ trigger: 'textarea[name="body"]:first',
run: 'text ccccc',
}, { // check onchange
content: "click outside to trigger one2many onchange",
- trigger: 'input.o_form_required',
+ trigger: 'input.o_required_modifier',
run: 'click'
}, {
content: "test one2many onchange",
- trigger: '.o_form_textarea[name="message_concat"] textarea:first:propValueContains([test_trigger2] Demo User:ccccc)',
+ trigger: 'textarea[name="message_concat"]:first:propValueContains([test_trigger2] Demo User:ccccc)',
run: function () {}, // don't change texarea content
}, {
content: "click outside to trigger one2many onchange",
- trigger: '.o_form_field_many2manytags .o_form_input_dropdown > input',
+ trigger: '.o_field_many2manytags .o_input_dropdown > input',
}, {
content: "add a tag",
trigger: '.ui-autocomplete a:first',
@@ -419,36 +419,36 @@ odoo.define('web.test.x2many', function (require) {
extra_trigger: 'body:not(:has(tr:has(td:containsExact(d))))',
}, { // check saved data
content: "check data 10",
- trigger: '.o_form_textarea:containsExact([test_trigger2] Administrator:aaa\n[test_trigger2] Demo User:ccccc)',
+ trigger: '.o_field_text:containsExact([test_trigger2] Administrator:aaa\n[test_trigger2] Demo User:ccccc)',
run: function () {}, // don't change texarea content
}, {
content: "check data 11",
- trigger: '.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(1)',
- extra_trigger: 'body:not(:has(.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(2)))',
+ trigger: '.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(1)',
+ extra_trigger: 'body:not(:has(.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(2)))',
run: function () {},
}, { // edit
content: "edit discussion",
trigger: 'button.o_form_button_edit'
}, { // add message eee
content: "create new message eee",
- trigger: '.tab-pane:eq(0) .o_form_field_x2many_list_row_add a',
+ trigger: '.tab-pane:eq(0) .o_field_x2many_list_row_add a',
extra_trigger: 'li.active a[data-toggle="tab"]:contains(Messages)',
}, {
content: "change text value",
- trigger: '.o_form_textarea[name="body"] textarea:first',
+ trigger: 'textarea[name="body"]:first',
run: 'text eee'
}, { // save
content: "save discussion",
trigger: 'button.o_form_button_save',
- extra_trigger: '.o_form_textarea[name="body"] textarea:first:propValueContains(eee)',
+ extra_trigger: 'textarea[name="body"]:first:propValueContains(eee)',
}, { // check saved data
content: "check data 12",
- trigger: '.o_form_textarea[name="message_concat"]:containsExact([test_trigger2] Administrator:aaa\n[test_trigger2] Demo User:ccccc\n[test_trigger2] Administrator:eee)',
+ trigger: '.o_field_text[name="message_concat"]:containsExact([test_trigger2] Administrator:aaa\n[test_trigger2] Demo User:ccccc\n[test_trigger2] Administrator:eee)',
run: function () {}, // it's a check
}, {
content: "check data 13",
- trigger: '.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(2)',
- extra_trigger: 'body:not(:has(.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(3)))',
+ trigger: '.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(2)',
+ extra_trigger: 'body:not(:has(.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(3)))',
run: function () {}, // it's a check
},
@@ -459,12 +459,12 @@ odoo.define('web.test.x2many', function (require) {
{
content: "switch to the third form view to test onchange changing one2many (toggle menu dropdown)",
trigger: '.o_sub_menu .oe_secondary_submenu .oe_menu_leaf .oe_menu_text:containsExact(Discussions)',
- extra_trigger: '.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(2)',
+ extra_trigger: '.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(2)',
edition: 'community'
}, {
content: "switch to the third form view to test onchange changing one2many (toggle menu dropdown)",
trigger: 'nav .o_menu_sections li a:containsExact(Discussions)',
- extra_trigger: '.tab-pane:eq(0) .o_form_field tbody .o_data_row:eq(2)',
+ extra_trigger: '.tab-pane:eq(0) .o_field_widget tbody .o_data_row:eq(2)',
edition: 'enterprise'
}, {
content: "switch to the thied form view to test onchange changing one2many (open submenu)",
@@ -482,33 +482,33 @@ odoo.define('web.test.x2many', function (require) {
trigger: 'button.o_list_button_add',
}, {
content: "set discussion title to generate dummy message",
- trigger: 'input.o_form_required',
+ trigger: 'input.o_required_modifier',
run: 'text {generate_dummy_message}',
}, {
content: "check new dummy message happened",
- trigger: '.o_form_field[name=messages] .o_data_row .o_list_number:containsExact(13)',
- extra_trigger: '.o_form_field[name=important_messages] .o_data_row .o_list_number:containsExact(13)',
+ trigger: '.o_field_widget[name=messages] .o_data_row .o_list_number:containsExact(13)',
+ extra_trigger: '.o_field_widget[name=important_messages] .o_data_row .o_list_number:containsExact(13)',
run: function () {}, // it's a check
}, {
content: "check field not in embedded view received correctly",
- trigger: '.o_form_field[name=messages] .o_data_row input[type="checkbox"]:propChecked',
+ trigger: '.o_field_widget[name=messages] .o_data_row input[type="checkbox"]:propChecked',
run: function () {}, // it's a check
}, {
content: "empty discussion title",
- trigger: 'input.o_form_required',
+ trigger: 'input.o_required_modifier',
run: 'text removed_title',
}, {
content: "onchange happened",
- trigger: '.o_form_field[name=messages] .o_data_row td:contains([removed_title])',
+ trigger: '.o_field_widget[name=messages] .o_data_row td:contains([removed_title])',
run: function () {}, // it's a check
}, {
content: "set discussion title to generate dummy message",
- trigger: 'input.o_form_required',
+ trigger: 'input.o_required_modifier',
run: 'text {generate_dummy_message}',
}, {
content: "chuck update and new dummy message happened",
- trigger: '.o_form_field[name=messages] .o_data_row .o_list_number:containsExact(22)',
- extra_trigger: '.o_form_field[name=important_messages] .o_data_row .o_list_number:containsExact(22)',
+ trigger: '.o_field_widget[name=messages] .o_data_row .o_list_number:containsExact(22)',
+ extra_trigger: '.o_field_widget[name=important_messages] .o_data_row .o_list_number:containsExact(22)',
run: function () {}, // it's a check
}, { // cancel
content: "cancel change",