]> err.no Git - scalable-opengroupware.org/blob - UI/WebServerResources/UIxAclEditor.js
initial sync
[scalable-opengroupware.org] / UI / WebServerResources / UIxAclEditor.js
1 /* test */
2
3 var contactSelectorAction = 'acls-contacts';
4
5 function addContact(tag, fullContactName, contactId, contactName,
6                     contactEmail) {
7    if (tag == "assistant")
8       addUser(contactName, contactId, false);
9    else if (tag == "delegate")
10       addUser(contactName, contactId, true);
11 }
12
13 function addUser(userName, userId, checked) {
14    var uidList = $("uixselector-userRoles-uidList");
15    var uids;
16
17    if (uidList.value.length > 0) {
18       uids = uidList.value.split(",");
19    } else {
20       uids = new Array();
21    }
22
23    if (uids.indexOf(userId) < 0) {
24       uids.push(userId);
25       var ul = $("uixselector-userRoles-display");
26       ul.appendChild(nodeForUser(userName, userId, checked));
27       uidList.value = uids.join(",");
28    }
29
30    log("addUser: " + uidList.value);
31 }
32
33 function nodeForUser(userName, userId, checked) {
34    var node = document.createElement("li");
35    node.setAttribute("uid", userId);
36    node.setAttribute("class", "");
37    node.addEventListener("mousedown", listRowMouseDownHandler, true);
38    node.addEventListener("click", onRowClick, true);
39
40    var checkbox = document.createElement("input");
41    checkbox.setAttribute("type", "checkbox");
42    checkbox.setAttribute("class", "checkBox");
43    checkbox.checked = checked;
44    checkbox.addEventListener("change", updateAclStatus, true);
45
46    node.appendChild(checkbox);
47    node.appendChild(document.createTextNode(userName));
48
49    return node;
50 }
51
52 function updateAclStatus() {
53 }
54
55 function saveAcls() {
56    var form = $("aclForm");
57    var lis = $("uixselector-userRoles-display").childNodesWithTag("li");
58
59    var assistants = new Array();
60    var delegates = new Array();
61    for (var i = 0; i < lis.length; i++) {
62       var uName = lis[i].getAttribute("uid");
63       var cb = lis[i].childNodesWithTag("input")[0];
64       if (cb.checked)
65          delegates.push(uName);
66       else
67          assistants.push(uName);
68    }
69    $("assistants").value = assistants.join(",");
70    $("delegates").value = delegates.join(",");
71
72    form.submit();
73
74    return false;
75 }