changeset b5a89e6c45ad in tryton:default
details: https://hg.tryton.org/tryton?cmd=changeset&node=b5a89e6c45ad
description:
Add header parameter on export data
issue9301
review439151003
diffstat:
tryton/gui/window/form.py | 3 +--
tryton/gui/window/win_export.py | 22 ++++++++++------------
2 files changed, 11 insertions(+), 14 deletions(-)
diffs (114 lines):
diff -r 76e38f53400f -r b5a89e6c45ad tryton/gui/window/form.py
--- a/tryton/gui/window/form.py Tue Jun 21 10:18:23 2022 +0200
+++ b/tryton/gui/window/form.py Fri Jul 01 12:45:31 2022 +0200
@@ -443,7 +443,7 @@
paths = self.screen.selected_paths
fields = [f['name'] for f in export['export_fields.']]
data = RPCExecute(
- 'model', self.model, 'export_data', ids, fields,
+ 'model', self.model, 'export_data', ids, fields, export['header'],
context=self.screen.context)
delimiter = ','
if os.name == 'nt' and ',' == locale.localeconv()['decimal_point']:
@@ -452,7 +452,6 @@
'.csv', common.slugify(export['name']) + '_')
with open(fname, 'w') as fp:
writer = csv.writer(fp, delimiter=delimiter)
- writer.writerow(fields)
for row, path in zip_longest(data, paths or []):
indent = len(path) - 1 if path else 0
if row:
diff -r 76e38f53400f -r b5a89e6c45ad tryton/gui/window/win_export.py
--- a/tryton/gui/window/win_export.py Tue Jun 21 10:18:23 2022 +0200
+++ b/tryton/gui/window/win_export.py Fri Jul 01 12:45:31 2022 +0200
@@ -163,7 +163,7 @@
items.insert(0, ('%s.translated' % name, field,
_('%s (model name)') % string_))
items.insert(0, ('%s/rec_name' % name, field,
- _("%s (record name)") % string_))
+ _("%s/Record Name") % string_))
for name, field, string_ in items:
path = prefix_field + name
@@ -257,6 +257,7 @@
pref_id, = RPCExecute('model', 'ir.export', 'create', [{
'name': name,
'resource': self.model,
+ 'header': self.add_field_names.get_active(),
'export_fields': [('create', [{
'name': x,
} for x in fields])],
@@ -324,12 +325,11 @@
def response(self, dialog, response):
if response == Gtk.ResponseType.OK:
fields = []
- fields2 = []
iter = self.model2.get_iter_first()
while iter:
fields.append(self.model2.get_value(iter, 1))
- fields2.append(self.model2.get_value(iter, 0))
iter = self.model2.iter_next(iter)
+ header = self.add_field_names.get_active()
if self.selected_records.get_active():
ids = [r.id for r in self.screen.selected_records]
@@ -337,7 +337,7 @@
try:
data = RPCExecute(
'model', self.model, 'export_data',
- ids, fields,
+ ids, fields, header,
context=self.context)
except RPCException:
data = []
@@ -347,7 +347,7 @@
try:
data = RPCExecute(
'model', self.model, 'export_data',
- ids, fields,
+ ids, fields, header,
context=self.context)
except RPCException:
data = []
@@ -362,8 +362,8 @@
try:
data = RPCExecute(
'model', self.model, 'export_data_domain',
- domain, fields, offset, limit, self.screen.order,
- context=self.context)
+ domain, fields, header, offset, limit,
+ self.screen.order, context=self.context)
except RPCException:
data = []
@@ -371,18 +371,18 @@
fname = common.file_selection(_('Save As...'),
action=Gtk.FileChooserAction.SAVE)
if fname:
- self.export_csv(fname, fields2, data, paths)
+ self.export_csv(fname, data, paths)
else:
fileno, fname = tempfile.mkstemp(
'.csv', common.slugify(self.name) + '_')
- if self.export_csv(fname, fields2, data, paths, popup=False):
+ if self.export_csv(fname, data, paths, popup=False):
os.close(fileno)
common.file_open(fname, 'csv')
else:
os.close(fileno)
self.destroy()
- def export_csv(self, fname, fields, data, paths, popup=True):
+ def export_csv(self, fname, data, paths, popup=True):
encoding = self.csv_enc.get_active_text() or 'utf_8_sig'
locale_format = self.csv_locale.get_active()
@@ -391,8 +391,6 @@
open(fname, 'w', encoding=encoding, newline=''),
quotechar=self.get_quotechar(),
delimiter=self.get_delimiter())
- if self.add_field_names.get_active():
- writer.writerow(fields)
for row, path in zip_longest(data, paths or []):
indent = len(path) - 1 if path else 0
if row: