[IMP] in export, selecting name yields the xml/external id
bzr revid: xmo@openerp.com-20110901064259-7j4z0upta98f6sqj
This commit is contained in:
parent
36182e9580
commit
003d85bc8a
|
@ -1094,7 +1094,7 @@ class Export(View):
|
|||
fields = {}
|
||||
else:
|
||||
fields = self.fields_get(req, model)
|
||||
fields.update({'id': {'string': 'ID'}, '.id': {'string': 'Database ID'}})
|
||||
fields.update({'.id': {'string': 'ID'}})
|
||||
|
||||
fields_sequence = sorted(fields.iteritems(),
|
||||
key=lambda field: field[1].get('string', ''))
|
||||
|
@ -1109,16 +1109,18 @@ class Export(View):
|
|||
|
||||
id = prefix + (prefix and '/'or '') + field_name
|
||||
name = parent_name + (parent_name and '/' or '') + field['string']
|
||||
record = {'id': id, 'string': name, 'children': False,
|
||||
record = {'id': id, 'string': name,
|
||||
'value': id, 'children': False,
|
||||
'field_type': field.get('type'),
|
||||
'required': field.get('required')}
|
||||
records.append(record)
|
||||
|
||||
if len(name.split('/')) < 3 and 'relation' in field:
|
||||
ref = field.pop('relation')
|
||||
record['value'] += '/id'
|
||||
record['params'] = {'model': ref, 'prefix': id, 'name': name}
|
||||
|
||||
if not (import_compat and field['type'] == 'many2many'):
|
||||
if not import_compat or field['type'] == 'one2many':
|
||||
# m2m field in import_compat is childless
|
||||
record['children'] = True
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ openerp.base.DataExport = openerp.base.Dialog.extend({
|
|||
dialog_title: 'Export Data',
|
||||
init: function(parent, dataset) {
|
||||
this._super(parent);
|
||||
this.records = {};
|
||||
this.dataset = dataset;
|
||||
this.exports = new openerp.base.DataSetSearch(
|
||||
this, 'ir.exports', this.dataset.get_context());
|
||||
|
@ -198,6 +199,7 @@ openerp.base.DataExport = openerp.base.Dialog.extend({
|
|||
self.$element.find('#left_field_panel').append(QWeb.render('ExportTreeView-Secondary', {'fields': result}));
|
||||
}
|
||||
_.each(result, function(record) {
|
||||
self.records[record.id] = record.value;
|
||||
if ((record.field_type == "one2many") && imp_cmpt) {
|
||||
var o2m_fld = self.$element.find("tr[id='treerow-" + record.id + "']").find('#tree-column');
|
||||
o2m_fld.addClass("oe_export_readonlyfield");
|
||||
|
@ -362,9 +364,10 @@ openerp.base.DataExport = openerp.base.Dialog.extend({
|
|||
},
|
||||
on_click_export_data: function() {
|
||||
$.blockUI(this.$element);
|
||||
var exported_fields = [];
|
||||
var exported_fields = [], self = this;
|
||||
this.$element.find("#fields_list option").each(function() {
|
||||
exported_fields.push({name: $(this).val(), label: $(this).text()});
|
||||
var fieldname = self.records[$(this).val()];
|
||||
exported_fields.push({name: fieldname, label: $(this).text()});
|
||||
});
|
||||
if (_.isEmpty(exported_fields)) {
|
||||
alert('Please select fields to export...');
|
||||
|
|
Loading…
Reference in New Issue