diff options
| author | Romain Estievenart <res@odoo.com> | 2019-01-11 13:30:36 +0000 |
|---|---|---|
| committer | Pierre Paridans <app@odoo.com> | 2019-02-08 14:30:57 +0000 |
| commit | a5ab43ebe641748a92d8747b503c34d4a295a5de (patch) | |
| tree | d0e4c97f0725dd107150a0fae9cb4eaf07aa63fa /addons/web/static/src/js/views | |
| parent | f4dc2af71a662a3089ee12e52e2ccdaea6bd6587 (diff) | |
[IMP] web: Remove CTA should be hidden on creation
- Hide the "Remove" button on the create modal's footer.
- Update title when click on "Save & new" button
Task ID: 1924887
closes odoo/odoo#30209
Diffstat (limited to 'addons/web/static/src/js/views')
| -rw-r--r-- | addons/web/static/src/js/views/form/form_controller.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/view_dialogs.js | 17 |
2 files changed, 16 insertions, 3 deletions
diff --git a/addons/web/static/src/js/views/form/form_controller.js b/addons/web/static/src/js/views/form/form_controller.js index d85a538d5ec..d0400ef041f 100644 --- a/addons/web/static/src/js/views/form/form_controller.js +++ b/addons/web/static/src/js/views/form/form_controller.js @@ -619,7 +619,7 @@ var FormController = BasicController.extend({ on_remove: data.on_remove, parentID: data.parentID, readonly: data.readonly, - deletable: data.deletable, + deletable: record ? data.deletable : false, recordID: record && record.id, res_id: record && record.res_id, res_model: data.field.relation, diff --git a/addons/web/static/src/js/views/view_dialogs.js b/addons/web/static/src/js/views/view_dialogs.js index fb9cd5afa0c..65fee4a01b4 100644 --- a/addons/web/static/src/js/views/view_dialogs.js +++ b/addons/web/static/src/js/views/view_dialogs.js @@ -104,6 +104,7 @@ var FormViewDialog = ViewDialog.extend({ this.readonly = options.readonly; this.deletable = options.deletable; this.disable_multiple_selection = options.disable_multiple_selection; + var oBtnRemove = 'o_btn_remove'; var multi_select = !_.isNumber(options.res_id) && !options.disable_multiple_selection; var readonly = _.isNumber(options.res_id) && options.readonly; @@ -136,7 +137,19 @@ var FormViewDialog = ViewDialog.extend({ text: _t("Save & New"), classes: "btn-primary", click: function () { - this._save().then(self.form_view.createRecord.bind(self.form_view, self.parentID)); + this._save() + .then(self.form_view.createRecord.bind(self.form_view, self.parentID)) + .then(function () { + if (!self.deletable) { + return; + } + self.deletable = false; + self.buttons = self.buttons.filter(function (button) { + return button.classes.split(' ').indexOf(oBtnRemove) < 0; + }); + self.set_buttons(self.buttons); + self.set_title(_t("Create ") + _.str.strRight(self.title, _t("Open: "))); + }); }, }); } @@ -145,7 +158,7 @@ var FormViewDialog = ViewDialog.extend({ if (!multi && this.deletable) { options.buttons.push({ text: _t("Remove"), - classes: 'btn-secondary o_btn_remove', + classes: 'btn-secondary ' + oBtnRemove, click: this._remove.bind(this), }); } |
