Skip to content

Commit dbac62f

Browse files
committed
prepare log upload
1 parent ea167fa commit dbac62f

File tree

6 files changed

+170
-10
lines changed

6 files changed

+170
-10
lines changed

addon_files/redmatic/www/css/style.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
width: 550px;
88
}
99

10+
#alert-upload {
11+
width: 600px;
12+
}
13+
1014
html, body {
1115
height: 100%;
1216
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/tclsh
2+
3+
source ../lib/querystring.tcl
4+
source ../lib/session.tcl
5+
6+
puts -nonewline "Content-Type: text/plain; charset=utf-8\r\n\r\n"
7+
8+
if {[info exists sid] && [check_session $sid]} {
9+
set fp [open "/usr/local/addons/redmatic/etc/nickname" r]
10+
puts -nonewline [read $fp]
11+
close $fp
12+
} else {
13+
puts {error: invalid session}
14+
}

addon_files/redmatic/www/js/script.js

Lines changed: 65 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,15 +275,15 @@ $(document).ready(() => {
275275

276276
ps();
277277

278-
function alert($elem) {
278+
function alert($elem, timeout = 1600) {
279279
$elem.show();
280280
$elem.addClass('show');
281281
setTimeout(() => {
282282
$elem.removeClass('show');
283283
setTimeout(() => {
284284
$elem.hide();
285285
}, 200);
286-
}, 1600);
286+
}, timeout);
287287
}
288288

289289
function invalidSession() {
@@ -312,6 +312,27 @@ $(document).ready(() => {
312312
});
313313
}
314314

315+
$.get('getnick.cgi' + location.search, (data, success) => {
316+
if ($.trim(data) === 'error: invalid session') {
317+
invalidSession();
318+
return;
319+
}
320+
const nick = $.trim(data);
321+
if (nick) {
322+
$('#nickname').val(nick);
323+
$('#log-upload').removeClass('disabled');
324+
}
325+
});
326+
327+
$('#nickname').change(() => {
328+
const nick = $.trim($('#nickname').val());
329+
if (nick) {
330+
$('#log-upload').removeClass('disabled');
331+
} else {
332+
$('#log-upload').addClass('disabled');
333+
}
334+
});
335+
315336
$.get('getconfig.cgi' + location.search, (data, success) => {
316337
if ($.trim(data) === 'error: invalid session') {
317338
invalidSession();
@@ -656,7 +677,6 @@ $(document).ready(() => {
656677
$.get({
657678
url: `service.cgi?sid=${sid}&cmd=restart`,
658679
success: data => {
659-
console.log('restart', data)
660680
if (data.match(/Starting Node-RED: OK/)) {
661681
alert($alertExec);
662682
} else if ($.trim(data) === 'error: invalid session') {
@@ -778,6 +798,48 @@ $(document).ready(() => {
778798
download('redmatic.' + (new Date()).toISOString() + '.log', 'log.cgi' + location.search);
779799
});
780800

801+
function logUpload() {
802+
$('#log-upload-spinner').show();
803+
$('#log-upload').addClass('disabled');
804+
$.post({
805+
url: 'setnick.cgi' + location.search,
806+
data: $.trim($('#nickname').val().toLowerCase()),
807+
success: function (data) {
808+
if ($.trim(data) === 'ok') {
809+
$.get({
810+
url: 'logupload.cgi?sid=' + sid,
811+
success: data => {
812+
$('#log-upload-spinner').hide();
813+
$('#log-upload').removeClass('disabled');
814+
$('#log-name').html(data);
815+
$('#modal-upload').modal('show')
816+
}
817+
}).fail(() => {
818+
$('#log-upload').removeClass('disabled');
819+
$('#log-upload-spinner').hide();
820+
alert($alertError);
821+
});
822+
} else {
823+
$('#log-upload').removeClass('disabled');
824+
$('#log-upload-spinner').hide();
825+
if ($.trim(data) === 'error: invalid session') {
826+
invalidSession();
827+
return;
828+
}
829+
alert($alertError);
830+
}
831+
}
832+
}).fail(() => {
833+
alert($alertError);
834+
$('#log-upload').removeClass('disabled');
835+
$('#log-upload-spinner').hide();
836+
});
837+
}
838+
839+
$('#log-upload').on('click', () => {
840+
$('#modal-nickname').modal('show');
841+
});
842+
781843
$('#upgrade-log').on('click', () => {
782844
download('redmatic-pkg-upgrade.' + (new Date()).toISOString() + '.log', 'log.cgi' + location.search + '&cmd=upgrade');
783845
});
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/tclsh
2+
3+
source ../lib/querystring.tcl
4+
source ../lib/session.tcl
5+
6+
puts -nonewline "Content-Type: text/plain; charset=utf-8\r\n\r\n"
7+
8+
if {[info exists sid] && [check_session $sid]} {
9+
puts [exec /usr/local/addons/redmatic/bin/redmatic-logupload]
10+
exit 0
11+
} else {
12+
puts {error: invalid session}
13+
exit 1
14+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/bin/tclsh
2+
3+
source ../lib/querystring.tcl
4+
source ../lib/session.tcl
5+
6+
puts -nonewline "Content-Type: text/plain; charset=utf-8\r\n\r\n"
7+
8+
if {[info exists sid] && [check_session $sid]} {
9+
set filename "/usr/local/addons/redmatic/etc/nickname"
10+
set fp [open $filename "w"]
11+
puts -nonewline $fp [read stdin]
12+
close $fp
13+
puts "ok"
14+
} else {
15+
puts {error: invalid session}
16+
}

addon_files/redmatic/www/settings.html

Lines changed: 57 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,45 @@
5656
<strong>Kommando ausgeführt</strong>
5757
</div>
5858

59+
<div id="modal-upload" class="modal" tabindex="-1" role="dialog">
60+
<div class="modal-dialog" role="document">
61+
<div class="modal-content">
62+
<div class="modal-header">
63+
<h5 class="modal-title">Log Datei erfolgreich hochgeladen</h5>
64+
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
65+
<span aria-hidden="true">&times;</span>
66+
</button>
67+
</div>
68+
<div class="modal-body">
69+
<p>Log Datei <strong><span id="log-name"></span></strong> hochgeladen</p>
70+
</div>
71+
<div class="modal-footer">
72+
<button type="button" class="btn btn-secondary" data-dismiss="modal">Schliessen</button>
73+
</div>
74+
</div>
75+
</div>
76+
</div>
77+
78+
<div id="modal-nickname" class="modal" tabindex="-1" role="dialog">
79+
<div class="modal-dialog" role="document">
80+
<div class="modal-content">
81+
<div class="modal-header">
82+
<h5 class="modal-title">Log Versand</h5>
83+
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
84+
<span aria-hidden="true">&times;</span>
85+
</button>
86+
</div>
87+
<div class="modal-body">
88+
<input id="nickname" placeholder="Nickname" type="text" class="form-control" style="width: 240px;">
89+
</div>
90+
<div class="modal-footer">
91+
<button type="button" class="btn btn-secondary" data-dismiss="modal">Abbrechen</button>
92+
<button type="button" class="btn btn-primary" id="log-upload-do">Log versenden</button>
93+
</div>
94+
</div>
95+
</div>
96+
</div>
97+
5998
<div class="tab-content" id="myTabContent">
6099
<div class="tab-pane fade show" id="configuration" role="tabpanel" aria-labelledby="configuration-tab">
61100

@@ -318,13 +357,6 @@
318357

319358
<div class="tab-pane fade show" id="versions" role="tabpanel" aria-labelledby="versions-tab">
320359

321-
<div class="card mb-4">
322-
<div class="card-body">
323-
<button id="log" type="button" class="btn btn-sm btn-info"><i class="fa fa-link"></i> Log herunterladen</button>
324-
<!--<button id="upgrade-log" type="button" class="btn btn-sm btn-info"><i class="fa fa-link"></i> Upgrade Log herunterladen</button>-->
325-
</div>
326-
</div>
327-
328360
<div class="card mb-4">
329361
<div class="card-body">
330362
<div class="form-group">
@@ -338,9 +370,27 @@
338370
<option>trace</option>
339371
</select>
340372
</div>
373+
374+
</div>
375+
</div>
376+
377+
<div class="card mb-4">
378+
<div class="card-body">
379+
<div class="form-group">
380+
<button id="log" type="button" class="btn btn-sm btn-info"><i class="fa fa-download"></i> Log herunterladen</button>
381+
382+
383+
<button id="log-upload" type="button" class="btn btn-sm btn-info" ><i class="fa fa-upload"></i> Log versenden</button>
384+
<div id="log-upload-spinner" class="spinner-border spinner-border-sm ml-2 mr-2" role="status" style="color: #6a737d; display: none;">
385+
<span class="sr-only">Please wait...</span>
386+
</div>
387+
388+
389+
</div>
341390
</div>
342391
</div>
343392

393+
344394
<div class="card mb-4">
345395
<div class="card-body">
346396
<div class="form-group">

0 commit comments

Comments
 (0)