[FIX] web_form: FieldMany2ManyBinaryMultiFiles error when rendering twice (with an onchange for e.g.)
bzr revid: chm@openerp.com-20131128134607-2fisdnoq0qgpvibx
This commit is contained in:
parent
fbb5ddce18
commit
e468eeb9b3
|
@ -5379,25 +5379,26 @@ instance.web.form.FieldMany2ManyBinaryMultiFiles = instance.web.form.AbstractFie
|
|||
read_name_values : function () {
|
||||
var self = this;
|
||||
// don't reset know values
|
||||
var _value = _.filter(this.get('value'), function (id) { return typeof self.data[id] == 'undefined'; } );
|
||||
var ids = this.get('value');
|
||||
var _value = _.filter(ids, function (id) { return typeof self.data[id] == 'undefined'; } );
|
||||
// send request for get_name
|
||||
if (_value.length) {
|
||||
return this.ds_file.call('read', [_value, ['id', 'name', 'datas_fname']]).done(function (datas) {
|
||||
return this.ds_file.call('read', [_value, ['id', 'name', 'datas_fname']]).then(function (datas) {
|
||||
_.each(datas, function (data) {
|
||||
data.no_unlink = true;
|
||||
data.url = self.session.url('/web/binary/saveas', {model: 'ir.attachment', field: 'datas', filename_field: 'datas_fname', id: data.id});
|
||||
self.data[data.id] = data;
|
||||
});
|
||||
return ids;
|
||||
});
|
||||
} else {
|
||||
return $.when();
|
||||
return $.when(ids);
|
||||
}
|
||||
},
|
||||
render_value: function () {
|
||||
var self = this;
|
||||
this.read_name_values().then(function () {
|
||||
|
||||
var render = $(instance.web.qweb.render('FieldBinaryFileUploader.files', {'widget': self}));
|
||||
this.read_name_values().then(function (ids) {
|
||||
var render = $(instance.web.qweb.render('FieldBinaryFileUploader.files', {'widget': self, 'values': ids}));
|
||||
render.on('click', '.oe_delete', _.bind(self.on_file_delete, self));
|
||||
self.$('.oe_placeholder_files, .oe_attachments').replaceWith( render );
|
||||
|
||||
|
|
|
@ -1334,7 +1334,7 @@
|
|||
<t t-name="FieldBinaryFileUploader.files">
|
||||
<div class="oe_attachments">
|
||||
<t t-if="!widget.get('effective_readonly')">
|
||||
<t t-foreach="widget.get('value')" t-as="id">
|
||||
<t t-foreach="values" t-as="id">
|
||||
<t t-set="file" t-value="widget.data[id]"/>
|
||||
<div class="oe_attachment">
|
||||
<span t-if="(file.upload or file.percent_loaded<100)" t-attf-title="{(file.name || file.filename) + (file.date?' \n('+file.date+')':'' )}" t-attf-name="{file.name || file.filename}">
|
||||
|
|
Loading…
Reference in New Issue