=== modified file 'addons/openerp/controllers/impex.py'
--- addons/openerp/controllers/impex.py 2013-05-03 12:04:25 +0000
+++ addons/openerp/controllers/impex.py 2013-10-04 07:39:03 +0000
@@ -145,19 +145,23 @@
default = []
if params._terp_listheaders:
default = [x.split(',',1) for x in params._terp_listheaders]
- elif kw.get('_terp_fields2') and kw.get('fields'):
+ elif kw.get('_terp_fields2') and kw.get('fields') and params.fields2:
default = []
for i in range(0, len(kw.get('fields'))):
if import_compat=='1' and '/' in kw.get('fields')[i] and kw.get('fields')[i].split('/')[-1] not in ('id', '.id'):
continue
default.append([kw['fields'][i], params.fields2[i]])
+ export_id = False
+ if '_export_id' in kw and kw['_export_id']:
+ export_id = int(kw['_export_id'])
+
if params.model == 'product.product':
default = [x for x in default if x[0] not in product_remove_fields]
default = simplejson.dumps(default)
return dict(existing_exports=existing_exports, model=params.model, ids=params.ids, ctx=ctx,
search_domain=params.search_domain, source=params.source,
- tree=tree, import_compat=import_compat, default=default, export_format=export_format, all_records=all_records)
+ tree=tree, import_compat=import_compat, default=default, export_format=export_format, all_records=all_records, export_id=export_id)
@expose()
def save_exp(self, **kw):
@@ -171,9 +175,10 @@
if selected_list and name:
if isinstance(selected_list, basestring):
selected_list = [selected_list]
- proxy.create({'name' : name, 'resource' : params.model, 'export_fields' : [(0, 0, {'name' : f}) for f in selected_list]})
-
- raise redirect('/openerp/impex/exp', **kw)
+ exp_id = proxy.create({'name' : name, 'resource' : params.model, 'export_fields' : [(0, 0, {'name' : f}) for f in selected_list]})
+ kw['_export_id'] = exp_id
+ return self.exp(**kw)
+ #raise redirect('/openerp/impex/exp', **kw)
@expose()
def delete_listname(self, **kw):
=== modified file 'addons/openerp/controllers/templates/exp.mako'
--- addons/openerp/controllers/templates/exp.mako 2012-09-18 07:24:35 +0000
+++ addons/openerp/controllers/templates/exp.mako 2013-10-04 07:39:03 +0000
@@ -43,9 +43,12 @@
var form = document.forms['view_form'];
form.action = '/openerp/impex/save_exp';
var options = openobject.dom.get('fields').options;
+ var fields2 = [];
forEach(options, function(o){
o.selected = true;
+ fields2 = fields2.concat('"' + o.text + '"');
});
+ openobject.dom.get('_terp_fields2').value = '[' + fields2.join(',') + ']';
form.submit();
}
@@ -115,7 +118,7 @@
if (options.length == 0){
error_display(_('Please select fields to export...'));
- return;
+ return 0;
}
var fields2 = [];
@@ -128,15 +131,17 @@
}
function do_export(form){
- do_pre_submit();
+ pre = do_pre_submit();
if (jQuery('#export_format').val() == 'excel') {
file_name = "data.xls";
} else {
file_name = "data.csv";
}
- jQuery(idSelector(form)).attr('action', openobject.http.getURL(
- '/openerp/impex/export_data/'+file_name)
- ).submit();
+ if (pre != 0) {
+ jQuery(idSelector(form)).attr('action', openobject.http.getURL(
+ '/openerp/impex/export_data/'+file_name)
+ ).submit();
+ }
}
@@ -243,7 +248,7 @@
% endif
% for export in existing_exports:
-
+
% endfor