diff options
Diffstat (limited to 'web')
-rwxr-xr-x | web/api/write/oplog | 2 | ||||
-rw-r--r-- | web/index.html | 1 | ||||
-rw-r--r-- | web/js/nms-oplog.js | 35 | ||||
-rw-r--r-- | web/js/nms.js | 10 |
4 files changed, 40 insertions, 8 deletions
diff --git a/web/api/write/oplog b/web/api/write/oplog index 736ba2b..73b807b 100755 --- a/web/api/write/oplog +++ b/web/api/write/oplog @@ -9,7 +9,7 @@ use warnings; my $in = get_input(); my %tmp = %{JSON::XS::decode_json($in)}; -my $user = $ENV{'REMOTE_USER'} || "undefined"; +my $user = $tmp{'user'} || $ENV{'REMOTE_USER'} || "undefined"; my $q = $nms::web::dbh->prepare("INSERT INTO oplog (username, systems, log) values (?,?,?);"); $q->execute($user, $tmp{'systems'}, $tmp{'log'}); diff --git a/web/index.html b/web/index.html index 4a1a3e4..c500d09 100644 --- a/web/index.html +++ b/web/index.html @@ -98,6 +98,7 @@ </div> <button id="logbox-submit" class="btn btn-default" type="button" onclick="nmsOplog.commit();">Log</button> </div> + <p onclick="nmsOplog.getUser(true);" id="logbook-name" class="navbar-text navbar-right"></p> </div><!--/.nav-collapse --> </div> diff --git a/web/js/nms-oplog.js b/web/js/nms-oplog.js index 372183e..8fe50a4 100644 --- a/web/js/nms-oplog.js +++ b/web/js/nms-oplog.js @@ -8,11 +8,38 @@ nmsOplog.init = function() { nmsData.addHandler("oplog", "nmsOplogHandler", nmsOplog.updateComments); } +nmsOplog._reset = function() { + document.getElementById('logbox-id').value = ""; + document.getElementById('logbox').value = ""; + document.getElementById('searchbox').value = ""; + document.getElementById('searchbox').oninput(); +} + +nmsOplog.getUser = function(force = false) { + var user = nms.user; + if (user == undefined || force) { + user = prompt("Who are you? Short nick for the record."); + if (user == null || user == undefined || user == "") { + console.log("empty prompt"); + alert("No cake for you."); + return false; + } + nms.user = user; + saveSettings(); + } + return nms.user; +} + nmsOplog.commit = function() { var s = document.getElementById('logbox-id').value; var d = document.getElementById('logbox').value; + var user = nmsOplog.getUser(); + if (user == undefined) { + nmsOplog._reset(); + return; + } - var myData = {"systems": s, "log": d}; + var myData = {"user": user, "systems": s, "log": d}; myData = JSON.stringify(myData); $.ajax({ type: "POST", @@ -23,11 +50,7 @@ nmsOplog.commit = function() { nmsData.invalidate("oplog"); } }); - document.getElementById('logbox-id').value = ""; - document.getElementById('logbox').value = ""; - document.getElementById('searchbox').value = ""; - document.getElementById('searchbox').oninput(); - + nmsOplog._reset(); } nmsOplog.updateComments = function() { diff --git a/web/js/nms.js b/web/js/nms.js index a3706b9..d76fa8f 100644 --- a/web/js/nms.js +++ b/web/js/nms.js @@ -54,6 +54,13 @@ var nms = { }, interval: 10, + _user: undefined, + get user() { return this._user; }, + set user(u) { + this._user = u; + document.getElementById('logbook-name').textContent = u; + saveSettings(); + }, /* * This is a list of nms[x] variables that we store in our * settings-cookie when altered and restore on load. @@ -62,7 +69,8 @@ var nms = { 'nightMode', 'menuShowing', 'vertical', - 'interval' + 'interval', + 'user' ], keyBindings:{ '-':toggleMenu, |