3 var contactSelectorAction = 'acls-contacts';
5 function addUser(userName, userID) {
7 var ul = $("userList");
8 ul.appendChild(nodeForUser(userName, userID));
9 var url = window.location.href;
10 var elements = url.split("/");
11 elements[elements.length-1] = ("addUserInAcls?uid="
13 triggerAjaxRequest(elements.join("/"), addUserCallback);
17 function addUserCallback(http) {
20 function nodeForUser(userName, userId) {
21 var node = document.createElement("li");
22 node.setAttribute("id", userId);
23 node.setAttribute("class", "");
24 node.addEventListener("mousedown", listRowMouseDownHandler, true);
25 node.addEventListener("click", onRowClick, true);
27 var image = document.createElement("img");
28 image.setAttribute("src", ResourcesURL + "/abcard.gif");
30 node.appendChild(image);
31 node.appendChild(document.createTextNode(" " + userName));
37 var uidList = new Array();
38 var users = $("userList").childNodesWithTag("li");
39 for (var i = 0; i < users.length; i++)
40 uidList.push(users[i].getAttribute("id"));
41 $("userUIDS").value = uidList.join(",");
42 $("aclForm").submit();
47 function onUserAdd(event) {
48 openUserFolderSelector(null, "user");
50 event.preventDefault();
53 function removeUserCallback(http) {
54 var node = http.callbackData;
56 if (http.readyState == 4
57 && http.status == 204)
58 node.parentNode.removeChild(node);
60 log("error deleting user: " + node.getAttribute("id"));
63 function onUserRemove(event) {
64 var userList = $("userList");
65 var nodes = userList.getSelectedRows();
67 var url = window.location.href;
68 var elements = url.split("/");
69 elements[elements.length-1] = "removeUserFromAcls?uid=";
70 var baseURL = elements.join("/");
72 for (var i = 0; i < nodes.length; i++) {
73 var userId = nodes[i].getAttribute("id");
74 triggerAjaxRequest(baseURL + userId, removeUserCallback, nodes[i]);
76 event.preventDefault();
79 function subscribeToFolder(refreshCallback, refreshCallbackData) {
80 addUser(refreshCallbackData["folderName"],
81 refreshCallbackData["folder"]);
84 function openRightsForUser(button) {
85 var nodes = $("userList").getSelectedRows();
86 if (nodes.length > 0) {
87 var url = window.location.href;
88 var elements = url.split("/");
89 elements[elements.length-1] = ("userRights?uid="
90 + nodes[0].getAttribute("id"));
92 window.open(elements.join("/"), "",
93 "width=" + this.userRightsWidth
94 + ",height=" + this.userRightsHeight
95 + ",resizable=0,scrollbars=0,toolbar=0,"
96 + "location=0,directories=0,status=0,menubar=0,copyhistory=0");
102 function onOpenUserRights(event) {
104 event.preventDefault();
107 function onAclLoadHandler() {
108 var ul = $("userList");
109 var lis = ul.childNodesWithTag("li");
110 for (var i = 0; i < lis.length; i++) {
111 lis[i].addEventListener("mousedown", listRowMouseDownHandler, false);
112 lis[i].addEventListener("dblclick", onOpenUserRights, false);
113 lis[i].addEventListener("click", onRowClick, false);
116 var buttons = $("userSelectorButtons").childNodesWithTag("a");
117 buttons[0].addEventListener("click", onUserAdd, false);
118 buttons[1].addEventListener("click", onUserRemove, false);
120 this.userRightsHeight = window.opener.getUsersRightsWindowHeight();
121 this.userRightsWidth = window.opener.getUsersRightsWindowWidth();
124 window.addEventListener("load", onAclLoadHandler, false);