Sourcecode in SysMgr/objectFunctions.js:
1: function updateUser(param, admin) {
2: var u = this.users.get(param.item);
3: if (!u)
4: throw new Exception("userEditMissing");
5: if (u == admin)
6: throw new Exception("accountModifyOwn");
7: // check if this is an attempt to remove the last sysadmin
8: var sysadmin = parseInt(param.sysadmin, 10);
9: var trust = parseInt(param.trusted, 10);
10: var block = parseInt(param.blocked, 10);
11: if (u.sysadmin && this.sysadmins.size() == 1)
12: throw new Exception("adminDeleteLast");
13: else {
14: //logging
15: if (sysadmin > u.sysadmin)
16: this.syslogs.add(new SysLog("user", u.name, "granted sysadmin-rights", admin));
17: else if (sysadmin < u.sysadmin)
18: this.syslogs.add(new SysLog("user", u.name, "revoked sysadmin-rights", admin));
19: u.sysadmin = sysadmin;
20: }
21: if (trust > u.trusted)
22: this.syslogs.add(new SysLog("user", u.name, "granted trust", admin));
23: else if (trust < u.trusted)
24: this.syslogs.add(new SysLog("user", u.name, "revoked trust", admin));
25: if (block > u.blocked)
26: this.syslogs.add(new SysLog("user", u.name, "blocked user", admin));
27: else if (block < u.blocked)
28: this.syslogs.add(new SysLog("user", u.name, "unblocked user", admin));
29: u.trusted = trust;
30: u.blocked = block;
31: return new Message("update");
32: }
|