Model = req.session.model(model)
ids = ids or Model.search(domain, context=context)
- field = fields.keys()
- result = Model.export_data(ids, field, context).get('datas',[])
+ field_names = map(operator.itemgetter('name'), fields)
+ import_data = Model.export_data(ids, field_names, context).get('datas',[])
+
+ if import_compat:
+ columns_headers = field_names
+ else:
+ columns_headers = [val['label'].strip() for val in fields]
- if not import_compat:
- field = [val.strip() for val in fields.values()]
req.httpresponse.headers['Content-Disposition'] = \
'attachment; filename="%s"' % self.filename(model)
req.httpresponse.cookie['fileToken'] = int(token)
req.httpresponse.cookie['fileToken']['path'] = '/'
req.httpresponse.headers['Content-Type'] = self.content_type
- return self.from_data(field, result)
+ return self.from_data(columns_headers, import_data)
class CSVExport(Export):
_cp_path = '/base/export/csv'
},
on_click_export_data: function() {
$.blockUI(this.$element);
- var exported_fields = {};
+ var exported_fields = [];
this.$element.find("#fields_list option").each(function() {
- exported_fields[$(this).val()] = $(this).text();
+ exported_fields.push({name: $(this).val(), label: $(this).text()});
});
if (_.isEmpty(exported_fields)) {
alert('Please select fields to export...');