summaryrefslogtreecommitdiff
path: root/addons/base/static/src
diff options
context:
space:
mode:
Diffstat (limited to 'addons/base/static/src')
-rw-r--r--addons/base/static/src/js/form.js8
1 files changed, 8 insertions, 0 deletions
diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js
index d91fef20a43..4e67684f163 100644
--- a/addons/base/static/src/js/form.js
+++ b/addons/base/static/src/js/form.js
@@ -1196,6 +1196,7 @@ openerp.base.form.FieldBinary = openerp.base.form.Field.extend({
start: function() {
this._super.apply(this, arguments);
this.$element.find('input.oe-binary-file').change(this.on_file_change);
+ this.$element.find('button.oe-binary-file-save').click(this.on_save_as);
this.$element.find('.oe-binary-file-clear').click(this.on_clear);
},
set_value_from_ui: function() {
@@ -1235,6 +1236,12 @@ openerp.base.form.FieldBinary = openerp.base.form.Field.extend({
},
on_file_uploaded_and_valid: function(size, name, content_type, file_base64) {
},
+ on_save_as: function() {
+ var url = '/base/formview/saveas?session_id=' + this.session.session_id + '&model=' +
+ this.view.dataset.model +'&id=' + (this.view.datarecord.id || '') + '&field=' + this.name +
+ '&fieldname=' + (this.node.attrs.filename || '') + '&t=' + (new Date().getTime())
+ window.open(url);
+ },
on_clear: function() {
if (this.value !== false) {
this.value = false;
@@ -1266,6 +1273,7 @@ openerp.base.form.FieldBinaryFile = openerp.base.form.FieldBinary.extend({
var filename = this.node.attrs.filename;
if (this.view.fields[filename]) {
this.view.fields[filename].set_value(value);
+ this.view.fields[filename].on_ui_change();
}
},
on_clear: function() {