Skip to content

Commit

Permalink
prepare log upload
Browse files Browse the repository at this point in the history
  • Loading branch information
hobbyquaker committed Feb 29, 2020
1 parent ea167fa commit dbac62f
Show file tree
Hide file tree
Showing 6 changed files with 170 additions and 10 deletions.
4 changes: 4 additions & 0 deletions addon_files/redmatic/www/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
width: 550px;
}

#alert-upload {
width: 600px;
}

html, body {
height: 100%;
}
Expand Down
14 changes: 14 additions & 0 deletions addon_files/redmatic/www/getnick.cgi
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/tclsh

source ../lib/querystring.tcl
source ../lib/session.tcl

puts -nonewline "Content-Type: text/plain; charset=utf-8\r\n\r\n"

if {[info exists sid] && [check_session $sid]} {
set fp [open "/usr/local/addons/redmatic/etc/nickname" r]
puts -nonewline [read $fp]
close $fp
} else {
puts {error: invalid session}
}
68 changes: 65 additions & 3 deletions addon_files/redmatic/www/js/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -275,15 +275,15 @@ $(document).ready(() => {

ps();

function alert($elem) {
function alert($elem, timeout = 1600) {
$elem.show();
$elem.addClass('show');
setTimeout(() => {
$elem.removeClass('show');
setTimeout(() => {
$elem.hide();
}, 200);
}, 1600);
}, timeout);
}

function invalidSession() {
Expand Down Expand Up @@ -312,6 +312,27 @@ $(document).ready(() => {
});
}

$.get('getnick.cgi' + location.search, (data, success) => {
if ($.trim(data) === 'error: invalid session') {
invalidSession();
return;
}
const nick = $.trim(data);
if (nick) {
$('#nickname').val(nick);
$('#log-upload').removeClass('disabled');
}
});

$('#nickname').change(() => {
const nick = $.trim($('#nickname').val());
if (nick) {
$('#log-upload').removeClass('disabled');
} else {
$('#log-upload').addClass('disabled');
}
});

$.get('getconfig.cgi' + location.search, (data, success) => {
if ($.trim(data) === 'error: invalid session') {
invalidSession();
Expand Down Expand Up @@ -656,7 +677,6 @@ $(document).ready(() => {
$.get({
url: `service.cgi?sid=${sid}&cmd=restart`,
success: data => {
console.log('restart', data)
if (data.match(/Starting Node-RED: OK/)) {
alert($alertExec);
} else if ($.trim(data) === 'error: invalid session') {
Expand Down Expand Up @@ -778,6 +798,48 @@ $(document).ready(() => {
download('redmatic.' + (new Date()).toISOString() + '.log', 'log.cgi' + location.search);
});

function logUpload() {
$('#log-upload-spinner').show();
$('#log-upload').addClass('disabled');
$.post({
url: 'setnick.cgi' + location.search,
data: $.trim($('#nickname').val().toLowerCase()),
success: function (data) {
if ($.trim(data) === 'ok') {
$.get({
url: 'logupload.cgi?sid=' + sid,
success: data => {
$('#log-upload-spinner').hide();
$('#log-upload').removeClass('disabled');
$('#log-name').html(data);
$('#modal-upload').modal('show')
}
}).fail(() => {
$('#log-upload').removeClass('disabled');
$('#log-upload-spinner').hide();
alert($alertError);
});
} else {
$('#log-upload').removeClass('disabled');
$('#log-upload-spinner').hide();
if ($.trim(data) === 'error: invalid session') {
invalidSession();
return;
}
alert($alertError);
}
}
}).fail(() => {
alert($alertError);
$('#log-upload').removeClass('disabled');
$('#log-upload-spinner').hide();
});
}

$('#log-upload').on('click', () => {
$('#modal-nickname').modal('show');
});

$('#upgrade-log').on('click', () => {
download('redmatic-pkg-upgrade.' + (new Date()).toISOString() + '.log', 'log.cgi' + location.search + '&cmd=upgrade');
});
Expand Down
14 changes: 14 additions & 0 deletions addon_files/redmatic/www/logupload.cgi
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/tclsh

source ../lib/querystring.tcl
source ../lib/session.tcl

puts -nonewline "Content-Type: text/plain; charset=utf-8\r\n\r\n"

if {[info exists sid] && [check_session $sid]} {
puts [exec /usr/local/addons/redmatic/bin/redmatic-logupload]
exit 0
} else {
puts {error: invalid session}
exit 1
}
16 changes: 16 additions & 0 deletions addon_files/redmatic/www/setnick.cgi
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/tclsh

source ../lib/querystring.tcl
source ../lib/session.tcl

puts -nonewline "Content-Type: text/plain; charset=utf-8\r\n\r\n"

if {[info exists sid] && [check_session $sid]} {
set filename "/usr/local/addons/redmatic/etc/nickname"
set fp [open $filename "w"]
puts -nonewline $fp [read stdin]
close $fp
puts "ok"
} else {
puts {error: invalid session}
}
64 changes: 57 additions & 7 deletions addon_files/redmatic/www/settings.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,45 @@
<strong>Kommando ausgeführt</strong>
</div>

<div id="modal-upload" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Log Datei erfolgreich hochgeladen</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>Log Datei <strong><span id="log-name"></span></strong> hochgeladen</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Schliessen</button>
</div>
</div>
</div>
</div>

<div id="modal-nickname" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Log Versand</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<input id="nickname" placeholder="Nickname" type="text" class="form-control" style="width: 240px;">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Abbrechen</button>
<button type="button" class="btn btn-primary" id="log-upload-do">Log versenden</button>
</div>
</div>
</div>
</div>

<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show" id="configuration" role="tabpanel" aria-labelledby="configuration-tab">

Expand Down Expand Up @@ -318,13 +357,6 @@

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

<div class="card mb-4">
<div class="card-body">
<button id="log" type="button" class="btn btn-sm btn-info"><i class="fa fa-link"></i> Log herunterladen</button>
<!--<button id="upgrade-log" type="button" class="btn btn-sm btn-info"><i class="fa fa-link"></i> Upgrade Log herunterladen</button>-->
</div>
</div>

<div class="card mb-4">
<div class="card-body">
<div class="form-group">
Expand All @@ -338,9 +370,27 @@
<option>trace</option>
</select>
</div>

</div>
</div>

<div class="card mb-4">
<div class="card-body">
<div class="form-group">
<button id="log" type="button" class="btn btn-sm btn-info"><i class="fa fa-download"></i> Log herunterladen</button>


<button id="log-upload" type="button" class="btn btn-sm btn-info" ><i class="fa fa-upload"></i> Log versenden</button>
<div id="log-upload-spinner" class="spinner-border spinner-border-sm ml-2 mr-2" role="status" style="color: #6a737d; display: none;">
<span class="sr-only">Please wait...</span>
</div>


</div>
</div>
</div>


<div class="card mb-4">
<div class="card-body">
<div class="form-group">
Expand Down

0 comments on commit dbac62f

Please sign in to comment.