Improved saving events in CSV format.

Ylian Saint-Hilaire committed Feb 5, 2020 at 16:12 UTC 550ab94ebc458cac36515490e88ce7b7fdb145dc
3 files changed +14 -8
package.json
+1 -1
@@ -1,6 +1,6 @@
1 {
2 "name": "meshcentral",
3 - "version": "0.4.8-p",
3 + "version": "0.4.8-q",
4 "keywords": [
5 "Remote Management",
6 "Intel AMT",
translate/translate.json
+7 -4
@@ -20250,10 +20250,7 @@
20250 "ja": "時間、タイプ、アクション、ユーザー、メッセージ",
20251 "nl": "tijd, type, actie, gebruiker, bericht",
20252 "pt": "hora, tipo, ação, usuário, mensagem",
20253 - "ru": "time, type, action, user, message",
20254 - "xloc": [
20255 - "default.handlebars->25->1200"
20256 - ]
20253 + "ru": "time, type, action, user, message"
20254 },
20255 {
20256 "cs": "celkem",
@@ -20317,6 +20314,12 @@
20314 "default.handlebars->25->1241"
20315 ]
20316 },
20317 + {
20318 + "en": "utc, time, type, action, user, device, message",
20319 + "xloc": [
20320 + "default.handlebars->25->1200"
20321 + ]
20322 + },
20323 {
20324 "en": "{0} - Agent Installation",
20325 "xloc": [
views/default.handlebars
+6 -3
@@ -8786,7 +8786,6 @@
8786
8787 function p3showDownloadEventsDialog(mode) {
8788 if (xxdialogMode) return;
8789 - console.log('p3showDownloadEventsDialog');
8789 var x = "Download the list of events with one of the file formats below." + '<br /><br />';
8790 x += addHtmlValue("CSV Format", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogCSV(' + mode + ')">' + "eventslist.csv" + '</a>');
8791 x += addHtmlValue("JSON Format", '<a href=# style=cursor:pointer onclick="return p3downloadEventsDialogJSON(' + mode + ')">' + "eventslist.json" + '</a>');
@@ -8798,8 +8797,12 @@
8797 if (mode == 1) { eventList = currentDeviceEvents; }
8798 if (mode == 2) { eventList = events; }
8799 if (mode == 3) { eventList = currentUserEvents; }
8801 - csv = "time, type, action, user, message" + '\r\n';
8802 - for (var i in eventList) { csv += '\"' + eventList[i].time + '\",\"' + eventList[i].etype + '\",\"' + ((eventList[i].action != null) ? eventList[i].action : '') + '\",\"' + ((eventList[i].username != null) ? eventList[i].username : '') + '\",\"' + ((eventList[i].msg != null) ? eventList[i].msg : '') + '\"\r\n'; }
8800 + csv = "utc, time, type, action, user, device, message" + '\r\n';
8801 + for (var i in eventList) {
8802 + var nodename = '';
8803 + if (eventList[i].nodeid) { var node = getNodeFromId(eventList[i].nodeid); if (node && node.name) { nodename = node.name; } }
8804 + csv += '\"' + eventList[i].time + '\",\"' + printDateTime(new Date(eventList[i].time)) + '\",\"' + eventList[i].etype + '\",\"' + ((eventList[i].action != null) ? eventList[i].action : '') + '\",\"' + ((eventList[i].username != null) ? eventList[i].username : '') + '\",\"' + EscapeHtml(nodename) + '\",\"' + ((eventList[i].msg != null) ? eventList[i].msg : '').split(',').join(' -') + '\"\r\n';
8805 + }
8806 saveAs(new Blob([csv], { type: 'application/octet-stream' }), "eventslist.csv");
8807 return false;
8808 }