From 259cf453463448fdd25b5d29f45e0d3e8eb18382 Mon Sep 17 00:00:00 2001 From: Joseph Caburnay Date: Mon, 6 Jul 2020 14:19:26 +0000 Subject: [FIX] web: trying to create record based on name_create w/o _rec_name There are orm models that don't have _rec_name defined. The orm doesn't allow creation of record via name_create if _rec_name is not defined in the model. This commit considers this fact, such that if name_create returns false, we don't proceed on displaying the non-existing record. Note: _rec_name defaults to 'name' if not specified so only few models don't have _rec_name. closes odoo/odoo#54270 Task-id: 2285036 X-original-commit: 676c2b8e4fdf7347d44bc5afb7ca51d39338a527 Signed-off-by: Aaron Bohy (aab) --- addons/web/static/src/js/views/basic/basic_model.js | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'addons/web/static/src/js/views/basic/basic_model.js') diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js index d8bab11884b..adefa997e99 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -1632,6 +1632,12 @@ var BasicModel = AbstractModel.extend({ args: [data.display_name], context: this._getContext(record, {fieldName: fieldName, viewType: options.viewType}), }); + // Check if a record is really created. Models without defined + // _rec_name cannot create record based on name_create. + if (!result) { + record._changes[fieldName] = false; + return Promise.resolve(); + } data = {id: result[0], display_name: result[1]}; } -- cgit v1.2.3