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.js11
1 files changed, 9 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 86308a32736..e0c516f02fb 100644
--- a/addons/web/static/src/js/views/basic/basic_model.js
+++ b/addons/web/static/src/js/views/basic/basic_model.js
@@ -1315,13 +1315,17 @@ var BasicModel = AbstractModel.extend({
* @param {Object} [options]
* @param {string} [options.position=top] if the new record should be added
* on top or on bottom of the list
+ * @param {Object} [options.context] additional context to be merged before
+ * calling the default_get (eg. to set default values)
* @returns {Deferred<string>} resolves to the new record id
*/
_addX2ManyDefaultRecord: function (list, options) {
var self = this;
var position = options && options.position || 'top';
+ var additionalContext = options && options.context;
+ var context = this._getContext(list, {additionalContext: additionalContext});
var params = {
- context: this._getContext(list),
+ context: context,
fields: list.fields,
fieldsInfo: list.fieldsInfo,
parentID: list.id,
@@ -1799,7 +1803,10 @@ var BasicModel = AbstractModel.extend({
}
break;
case 'CREATE':
- var options = {position: command.position};
+ var options = {
+ context: command.context,
+ position: command.position,
+ };
def = this._addX2ManyDefaultRecord(list, options).then(function (id) {
if (command.position === 'bottom' && list.orderedResIDs && list.orderedResIDs.length >= list.limit) {
list.tempLimitIncrement = (list.tempLimitIncrement || 0) + 1;