From f57932b932b357917844926cb9abf0f6fb19ceed Mon Sep 17 00:00:00 2001 From: Martin Geubelle Date: Tue, 18 Apr 2017 13:43:01 +0200 Subject: [PATCH] [FIX] web: add missing handler on `quick_create` The custom event `quick_create` was linked to `_onQuickCreate` which didn't exist on the FieldMany2One. --- .../static/src/js/fields/relational_fields.js | 7 +++++ .../tests/fields/relational_fields_tests.js | 29 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js index abe3de97779..7f4fa24e5c2 100644 --- a/addons/web/static/src/js/fields/relational_fields.js +++ b/addons/web/static/src/js/fields/relational_fields.js @@ -461,6 +461,13 @@ var FieldMany2One = AbstractField.extend({ this._updateExternalButton(); } }, + /** + * @private + * @param {OdooEvent} event + */ + _onQuickCreate: function (event) { + this._quickCreate(event.data.value); + }, /** * @private * @param {OdooEvent} event diff --git a/addons/web/static/tests/fields/relational_fields_tests.js b/addons/web/static/tests/fields/relational_fields_tests.js index 93a19de7b81..23274f395a8 100644 --- a/addons/web/static/tests/fields/relational_fields_tests.js +++ b/addons/web/static/tests/fields/relational_fields_tests.js @@ -528,6 +528,35 @@ QUnit.module('relational_fields', { form.destroy(); }); + QUnit.test('quick create on a many2one', function (assert) { + assert.expect(1); + + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '
' + + '' + + '' + + '' + + '
', + mockRPC: function (route, args) { + if (route === '/web/dataset/call_kw/product/name_create') { + assert.strictEqual(args.args[0], 'new partner', + "should name create a new product"); + } + return this._super.apply(this, arguments); + }, + }); + + form.$('.o_form_field_many2one input').focus(); + form.$('.o_form_field_many2one input').val('new partner').trigger('keyup').trigger('focusout'); + + $('.modal .modal-footer .btn-primary').first().click(); + + form.destroy(); + }); + QUnit.module('FieldOne2Many'); QUnit.test('one2many basic properties', function (assert) {