annotate options.js @ 192:addc4e3456c4

Begin adding systemd compatibility. The Makefile can be used to build and install rlgwebd. On systems with systemd, the unit file controls starting and stopping the service, and the shell script is not needed. The unit file uses KillMode=none because socat does not actually stop rlgwebd, it only asks it to stop and exits without waiting for a response. Until a better stopping method is introduced, this setting prevents systemd from killing all the rlgwebd processes as soon as socat exits.
author John "Elwin" Edwards
date Fri, 01 Jan 2016 16:11:34 -0500
parents 99fbc7c55b81
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
129
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
1 function setup() {
130
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
2 if (!("lcred" in sessionStorage)) {
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
3 setstatus("You are not logged in.");
129
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
4 return;
130
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
5 }
129
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
6 var url = "/uinfo/email?key=" + sessionStorage.getItem("lcred");
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
7 var req = new XMLHttpRequest();
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
8 req.onreadystatechange = function () {
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
9 if (req.readyState != 4 || req.status != 200)
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
10 return;
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
11 var reply = JSON.parse(req.responseText);
130
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
12 if (!("email" in reply)) {
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
13 setstatus("You are not logged in.");
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
14 }
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
15 else {
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
16 setstatus("You are logged in as " + reply.u + ".");
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
17 document.getElementById("input_email").value = reply["email"];
133
99fbc7c55b81 Options-related UI improvements.
John "Elwin" Edwards <elwin@sdf.org>
parents: 130
diff changeset
18 //document.getElementById("switch").style.display = "block";
130
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
19 }
129
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
20 }
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
21 req.open('GET', url, true);
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
22 req.send();
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
23 }
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
24
130
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
25 function setstatus(stattext) {
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
26 var statnode = document.createTextNode(stattext);
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
27 var statdiv = document.getElementById("ostat");
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
28 statdiv.replaceChild(statnode, statdiv.firstChild);
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
29 }
a2e071a95055 Options page: handle not being logged in.
John "Elwin" Edwards <elwin@sdf.org>
parents: 129
diff changeset
30
129
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
31 function postemail() {
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
32 if (!("lcred" in sessionStorage))
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
33 return;
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
34 var posturl = "/uinfo/email?key=" + sessionStorage.getItem("lcred");
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
35 var msg = {"v": document.getElementById("input_email").value};
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
36 var req = new XMLHttpRequest();
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
37 req.open('POST', posturl, true);
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
38 req.send(JSON.stringify(msg));
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
39 }
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
40
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
41 function postpw() {
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
42 if (!("lcred" in sessionStorage))
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
43 return;
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
44 var posturl = "/uinfo/pw?key=" + sessionStorage.getItem("lcred");
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
45 var msg = {"v": document.getElementById("input_pw").value};
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
46 var req = new XMLHttpRequest();
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
47 req.open('POST', posturl, true);
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
48 req.send(JSON.stringify(msg));
46822bd329da Make the options page functional.
John "Elwin" Edwards <elwin@sdf.org>
parents: 128
diff changeset
49 }