[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 = {}
|
fields = {}
|
||||||
else:
|
else:
|
||||||
fields = self.fields_get(req, model)
|
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(),
|
fields_sequence = sorted(fields.iteritems(),
|
||||||
key=lambda field: field[1].get('string', ''))
|
key=lambda field: field[1].get('string', ''))
|
||||||
|
@ -1109,16 +1109,18 @@ class Export(View):
|
||||||
|
|
||||||
id = prefix + (prefix and '/'or '') + field_name
|
id = prefix + (prefix and '/'or '') + field_name
|
||||||
name = parent_name + (parent_name and '/' or '') + field['string']
|
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'),
|
'field_type': field.get('type'),
|
||||||
'required': field.get('required')}
|
'required': field.get('required')}
|
||||||
records.append(record)
|
records.append(record)
|
||||||
|
|
||||||
if len(name.split('/')) < 3 and 'relation' in field:
|
if len(name.split('/')) < 3 and 'relation' in field:
|
||||||
ref = field.pop('relation')
|
ref = field.pop('relation')
|
||||||
|
record['value'] += '/id'
|
||||||
record['params'] = {'model': ref, 'prefix': id, 'name': name}
|
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
|
# m2m field in import_compat is childless
|
||||||
record['children'] = True
|
record['children'] = True
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ openerp.base.DataExport = openerp.base.Dialog.extend({
|
||||||
dialog_title: 'Export Data',
|
dialog_title: 'Export Data',
|
||||||
init: function(parent, dataset) {
|
init: function(parent, dataset) {
|
||||||
this._super(parent);
|
this._super(parent);
|
||||||
|
this.records = {};
|
||||||
this.dataset = dataset;
|
this.dataset = dataset;
|
||||||
this.exports = new openerp.base.DataSetSearch(
|
this.exports = new openerp.base.DataSetSearch(
|
||||||
this, 'ir.exports', this.dataset.get_context());
|
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}));
|
self.$element.find('#left_field_panel').append(QWeb.render('ExportTreeView-Secondary', {'fields': result}));
|
||||||
}
|
}
|
||||||
_.each(result, function(record) {
|
_.each(result, function(record) {
|
||||||
|
self.records[record.id] = record.value;
|
||||||
if ((record.field_type == "one2many") && imp_cmpt) {
|
if ((record.field_type == "one2many") && imp_cmpt) {
|
||||||
var o2m_fld = self.$element.find("tr[id='treerow-" + record.id + "']").find('#tree-column');
|
var o2m_fld = self.$element.find("tr[id='treerow-" + record.id + "']").find('#tree-column');
|
||||||
o2m_fld.addClass("oe_export_readonlyfield");
|
o2m_fld.addClass("oe_export_readonlyfield");
|
||||||
|
@ -362,9 +364,10 @@ openerp.base.DataExport = openerp.base.Dialog.extend({
|
||||||
},
|
},
|
||||||
on_click_export_data: function() {
|
on_click_export_data: function() {
|
||||||
$.blockUI(this.$element);
|
$.blockUI(this.$element);
|
||||||
var exported_fields = [];
|
var exported_fields = [], self = this;
|
||||||
this.$element.find("#fields_list option").each(function() {
|
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)) {
|
if (_.isEmpty(exported_fields)) {
|
||||||
alert('Please select fields to export...');
|
alert('Please select fields to export...');
|
||||||
|
|
Loading…
Reference in New Issue