summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/basic_model.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/views/basic/basic_model.js')
-rw-r--r--addons/web/static/src/js/views/basic/basic_model.js5
1 files changed, 3 insertions, 2 deletions
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 ca21cb6824d..d4d640d2739 100644
--- a/addons/web/static/src/js/views/basic/basic_model.js
+++ b/addons/web/static/src/js/views/basic/basic_model.js
@@ -1431,7 +1431,7 @@ var BasicModel = AbstractModel.extend({
fieldsInfo: list.fieldsInfo,
parentID: list.id,
position: position,
- viewType: list.viewType,
+ viewType: options.viewType || list.viewType,
allowWarning: options && options.allowWarning
};
@@ -2003,6 +2003,7 @@ var BasicModel = AbstractModel.extend({
context: command.context,
position: command.position
}, options || {});
+ createOptions.viewType = fieldInfo.mode;
def = this._addX2ManyDefaultRecord(list, createOptions).then(function (ids) {
_.each(ids, function(id){
@@ -4029,7 +4030,7 @@ var BasicModel = AbstractModel.extend({
// Hence preventing their value to crash when getting back to the originating view
var parentRecord = params.parentID && this.localData[params.parentID].type === 'list' ? this.localData[params.parentID] : null;
- if (parentRecord) {
+ if (parentRecord && parentRecord.viewType in parentRecord.fieldsInfo) {
var originView = parentRecord.viewType;
fieldNames = _.union(fieldNames, Object.keys(parentRecord.fieldsInfo[originView]));
fieldsInfo[targetView] = _.defaults({}, fieldsInfo[targetView], parentRecord.fieldsInfo[originView]);