Fix form CSV export

This commit is contained in:
yflory 2021-06-30 12:36:24 +02:00
parent 12c18fe7a3
commit 87d04ed68a

View file

@ -5,7 +5,7 @@ define([
var Export = {}; var Export = {};
var escapeCSV = function (v) { var escapeCSV = function (v) {
if (!/("|,)/.test(v)) { if (!/("|,|\n)/.test(v)) {
return v || ''; return v || '';
} }
var value = ''; var value = '';
@ -14,7 +14,6 @@ define([
return value; return value;
}; };
Export.results = function (content, answers, TYPES) { Export.results = function (content, answers, TYPES) {
console.log(content, answers, TYPES);
if (!content || !content.form) { return; } if (!content || !content.form) { return; }
var csv = ""; var csv = "";
var form = content.form; var form = content.form;
@ -24,8 +23,8 @@ define([
if (!obj) { return; } if (!obj) { return; }
return obj.q || Messages.form_default; return obj.q || Messages.form_default;
}).filter(Boolean); }).filter(Boolean);
questions.unshift(Messages.form_poll_time); // "Time"
questions.unshift(Messages.share_formView); // "Participant" questions.unshift(Messages.share_formView); // "Participant"
questions.unshift(Messages.form_poll_time); // "Time"
questions.forEach(function (v, i) { questions.forEach(function (v, i) {
if (i) { csv += ','; } if (i) { csv += ','; }
@ -37,14 +36,14 @@ define([
csv += '\n'; csv += '\n';
var time = new Date(obj.time).toISOString(); var time = new Date(obj.time).toISOString();
var msg = obj.msg || {}; var msg = obj.msg || {};
var user = msg._userdata; var user = msg._userdata || {};
csv += escapeCSV(time); csv += escapeCSV(time);
csv += ',' + escapeCSV(user.name || Messages.anonymous); csv += ',' + escapeCSV(user.name || Messages.anonymous);
Object.keys(form).forEach(function (key) { Object.keys(form).forEach(function (key) {
csv += ',' + escapeCSV(String(msg[key])); if (msg[key] && typeof(msg[key]) !== "string") { console.warn(key, msg[key]); }
csv += ',' + escapeCSV(String(msg[key] || ''));
}); });
}); });
console.log(csv);
return csv; return csv;
}; };