diff options
| author | Christophe Simonis <chs@odoo.com> | 2017-12-06 12:02:58 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2017-12-06 12:02:58 +0100 |
| commit | 8ef7af6afe54fbd59051bbbce76daadd6fdb0e86 (patch) | |
| tree | b21971e972eacc87e198fbc38b48ac9b70d168fc /addons/web/static/src/js/fields/basic_fields.js | |
| parent | 010add290342ae1e2887450a381e0d1f0acd34e5 (diff) | |
| parent | f96a797fe6238306ec70d3db013b8a4d348ef181 (diff) | |
[MERGE] forward port branch 11.0 up to f96a797fe62
Diffstat (limited to 'addons/web/static/src/js/fields/basic_fields.js')
| -rw-r--r-- | addons/web/static/src/js/fields/basic_fields.js | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index 1b0e3a6c8a3..de5f80b0e92 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -1233,7 +1233,7 @@ var FieldBinaryFile = AbstractFieldBinary.extend({ template: 'FieldBinaryFile', events: _.extend({}, AbstractFieldBinary.prototype.events, { 'click': function (event) { - if (this.mode === 'readonly' && this.value) { + if (this.mode === 'readonly' && this.value && this.recordData.id) { this.on_save_as(event); } }, @@ -1250,10 +1250,20 @@ var FieldBinaryFile = AbstractFieldBinary.extend({ this.do_toggle(!!this.value); if (this.value) { this.$el.empty().append($("<span/>").addClass('fa fa-download')); + if (this.recordData.id) { + this.$el.css('cursor', 'pointer'); + } else { + this.$el.css('cursor', 'not-allowed'); + } if (this.filename_value) { this.$el.append(" " + this.filename_value); } } + if (!this.res_id) { + this.$el.css('cursor', 'not-allowed'); + } else { + this.$el.css('cursor', 'pointer'); + } }, _renderEdit: function () { if (this.value) { @@ -1278,7 +1288,7 @@ var FieldBinaryFile = AbstractFieldBinary.extend({ if (!this.value) { this.do_warn(_t("Save As..."), _t("The field is empty, there's nothing to save !")); ev.stopPropagation(); - } else { + } else if (this.res_id) { framework.blockUI(); var c = crash_manager; var filename_fieldname = this.attrs.filename; |
