36
39
/* Just get details for the logged in user */
37
40
ajax_call(callback, "userservice", "get_user", {}, "GET");
40
44
/* Populate the page with the given user's account details */
41
45
function populate(user)
43
48
/* Plain text elements (non-editable) */
44
49
var login = document.getElementById("login");
45
50
var role = document.getElementById("role");
181
/* Sets the "result" text.
182
* iserror (bool) determines the styling.
184
function set_result(text, iserror)
186
var p = document.getElementById("result");
187
dom_removechildren(p);
188
p.appendChild(document.createTextNode(text));
190
p.setAttribute("class", "error");
192
p.removeAttribute("class");
195
/* Writes the settings to the server.
197
function save_settings()
199
/* Button (input) elements */
200
var save = document.getElementById("save");
201
/* Textbox (input) elements */
204
var newpass = document.getElementById("newpass");
205
var repeatpass = document.getElementById("repeatpass");
210
var repeatpass = null;
212
var nick = document.getElementById("nick");
213
var email = document.getElementById("email");
216
newpassval = newpass == null ? null : newpass.value;
217
repeatpassval = repeatpass == null ? null : repeatpass.value;
218
nickval = nick.value;
219
emailval = email.value;
221
/* Clear the password boxes, even if there are errors later */
225
repeatpass.value = "";
233
set_result("Display name is empty.", true);
236
if (newpassval != repeatpassval)
238
set_result("Passwords do not match.", true);
242
/* Disable the heavy-duty supercolliding super button */
243
save.setAttribute("disabled", "disabled");
244
save.setAttribute("value", "Saving...");
245
var callback = function(xhr)
247
save.removeAttribute("disabled");
248
save.setAttribute("value", "Save");
250
if (xhr.status == 200)
252
set_result("Successfully updated details.");
253
user_data.nick = nickval;
254
user_data.email = emailval;
258
set_result("There was a problem updating the details."
259
+ " Your changes have not been saved.");
263
"login": user_data.login,
267
if (newpassval != null && newpassval != "")
268
data['password'] = newpassval;
269
ajax_call(callback, "userservice", "update_user", data, "POST");