/* test */
var contactSelectorAction = 'acls-contacts';
+var defaultUserID = '';
+var userRightsHeight;
+var userRightsWidth;
function addUser(userName, userID) {
if (!$(userID)) {
function addUserCallback(http) {
}
+function setEventsOnUserNode(node) {
+ Event.observe(node, "mousedown", listRowMouseDownHandler);
+ Event.observe(node, "selectstart", listRowMouseDownHandler);
+ Event.observe(node, "dblclick", onOpenUserRights);
+ Event.observe(node, "click", onRowClick);
+}
+
function nodeForUser(userName, userId) {
var node = document.createElement("li");
node.setAttribute("id", userId);
node.setAttribute("class", "");
- node.addEventListener("mousedown", listRowMouseDownHandler, true);
- node.addEventListener("click", onRowClick, true);
+ setEventsOnUserNode(node);
var image = document.createElement("img");
image.setAttribute("src", ResourcesURL + "/abcard.gif");
function onUserAdd(event) {
openUserFolderSelector(null, "user");
- event.preventDefault();
+ preventDefault(event);
}
function removeUserCallback(http) {
var userId = nodes[i].getAttribute("id");
triggerAjaxRequest(baseURL + userId, removeUserCallback, nodes[i]);
}
- event.preventDefault();
+ preventDefault(event);
}
function subscribeToFolder(refreshCallback, refreshCallbackData) {
- addUser(refreshCallbackData["folderName"],
- refreshCallbackData["folder"]);
+ if (UserLogin != refreshCallbackData["folder"]) {
+ addUser(refreshCallbackData["folderName"],
+ refreshCallbackData["folder"]);
+ }
+ else
+ refreshCallbackData["window"].alert(clabels["You cannot subscribe to a folder that you own!"]);
+}
+
+function openRightsForUserID(userID) {
+ var url = window.location.href;
+ var elements = url.split("/");
+ elements[elements.length-1] = "userRights?uid=" + userID;
+
+ window.open(elements.join("/"), "",
+ "width=" + userRightsWidth
+ + ",height=" + userRightsHeight
+ + ",resizable=0,scrollbars=0,toolbar=0,"
+ + "location=0,directories=0,status=0,menubar=0,copyhistory=0");
}
function openRightsForUser(button) {
var nodes = $("userList").getSelectedRows();
- if (nodes.length > 0) {
- var url = window.location.href;
- var elements = url.split("/");
- elements[elements.length-1] = ("userRights?uid="
- + nodes[0].getAttribute("id"));
-
- window.open(elements.join("/"), "",
- "width=" + this.userRightsWidth
- + ",height=" + this.userRightsHeight
- + ",resizable=0,scrollbars=0,toolbar=0,"
- + "location=0,directories=0,status=0,menubar=0,copyhistory=0");
- }
+ if (nodes.length > 0)
+ openRightsForUserID(nodes[0].getAttribute("id"));
return false;
}
+function openRightsForDefaultUser(event) {
+ openRightsForUserID(defaultUserID);
+ preventDefault(event);
+}
+
function onOpenUserRights(event) {
openRightsForUser();
- event.preventDefault();
+ preventDefault(event);
}
function onAclLoadHandler() {
- var ul = $("userList");
- var lis = ul.childNodesWithTag("li");
- for (var i = 0; i < lis.length; i++) {
- lis[i].addEventListener("mousedown", listRowMouseDownHandler, false);
- lis[i].addEventListener("dblclick", onOpenUserRights, false);
- lis[i].addEventListener("click", onRowClick, false);
- }
-
- var buttons = $("userSelectorButtons").childNodesWithTag("a");
- buttons[0].addEventListener("click", onUserAdd, false);
- buttons[1].addEventListener("click", onUserRemove, false);
-
- this.userRightsHeight = window.opener.getUsersRightsWindowHeight();
- this.userRightsWidth = window.opener.getUsersRightsWindowWidth();
+ defaultUserID = $("defaultUserID").value;
+ var defaultRolesBtn = $("defaultRolesBtn");
+ if (defaultRolesBtn)
+ Event.observe(defaultRolesBtn, "click", openRightsForDefaultUser);
+ var ul = $("userList");
+ var lis = ul.childNodesWithTag("li");
+ for (var i = 0; i < lis.length; i++)
+ setEventsOnUserNode(lis[i]);
+
+ var buttonArea = $("userSelectorButtons");
+ if (buttonArea) {
+ var buttons = buttonArea.childNodesWithTag("a");
+ Event.observe(buttons[0], "click", onUserAdd);
+ Event.observe(buttons[1], "click", onUserRemove);
+ }
+
+ userRightsHeight = window.opener.getUsersRightsWindowHeight();
+ userRightsWidth = window.opener.getUsersRightsWindowWidth();
}
-window.addEventListener("load", onAclLoadHandler, false);
+FastInit.addOnLoad(onAclLoadHandler);