[IMP] in export, selecting name yields the xml/external id

bzr revid: xmo@openerp.com-20110901064259-7j4z0upta98f6sqj
This commit is contained in:
Xavier Morel 2011-09-01 08:42:59 +02:00
parent 36182e9580
commit 003d85bc8a
2 changed files with 10 additions and 5 deletions

View File

@ -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

View File

@ -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...');