[FIX] web: list view: keep original fields.reference value instact, store it's display in fake field_name+'__display' column, so that editing value in editable tree mode works
bzr revid: xal@openerp.com-20140114100439-hvdu9cxwyb3vvsum
This commit is contained in:
parent
e00c236693
commit
9a84e25342
|
@ -1022,7 +1022,7 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
|
|||
id = parseInt(ref_match[2], 10);
|
||||
new instance.web.DataSet(this.view, model).name_get([id]).done(function(names) {
|
||||
if (!names.length) { return; }
|
||||
record.set(column.id, names[0][1]);
|
||||
record.set(column.id + '__display', names[0][1]);
|
||||
});
|
||||
}
|
||||
} else if (column.type === 'many2one') {
|
||||
|
@ -2095,6 +2095,7 @@ instance.web.list.columns = new instance.web.Registry({
|
|||
'field.handle': 'instance.web.list.Handle',
|
||||
'button': 'instance.web.list.Button',
|
||||
'field.many2onebutton': 'instance.web.list.Many2OneButton',
|
||||
'field.reference': 'instance.web.list.Reference',
|
||||
'field.many2many': 'instance.web.list.Many2Many'
|
||||
});
|
||||
instance.web.list.columns.for_ = function (id, field, node) {
|
||||
|
@ -2307,5 +2308,19 @@ instance.web.list.Many2Many = instance.web.list.Column.extend({
|
|||
return this._super(row_data, options);
|
||||
}
|
||||
});
|
||||
instance.web.list.Reference = instance.web.list.Column.extend({
|
||||
_format: function (row_data, options) {
|
||||
if (!_.isEmpty(row_data[this.id].value)) {
|
||||
// If value, use __display version for printing
|
||||
//console.log('_format', row_data[this.id], row_data[this.id + '__display']);
|
||||
if (!!row_data[this.id + '__display']) {
|
||||
row_data[this.id] = row_data[this.id + '__display'];
|
||||
} else {
|
||||
row_data[this.id] = {'value': ''};
|
||||
}
|
||||
}
|
||||
return this._super(row_data, options);
|
||||
}
|
||||
});
|
||||
};
|
||||
// vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax:
|
||||
|
|
Loading…
Reference in New Issue