]> err.no Git - scalable-opengroupware.org/blobdiff - UI/WebServerResources/UIxAclEditor.js
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1267 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / UI / WebServerResources / UIxAclEditor.js
index 5354d999859c0071515166255900d45976c366ed..5350931e4b16f98fc179dee60e8b41548dc05c44 100644 (file)
@@ -2,6 +2,8 @@
 
 var contactSelectorAction = 'acls-contacts';
 var defaultUserID = '';
+var userRightsHeight;
+var userRightsWidth;
 
 function addUser(userName, userID) {
    if (!$(userID)) {
@@ -20,6 +22,7 @@ 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);
 }
@@ -53,7 +56,7 @@ function saveAcls() {
 function onUserAdd(event) {
    openUserFolderSelector(null, "user");
 
-   event.preventDefault();
+   preventDefault(event);
 }
 
 function removeUserCallback(http) {
@@ -79,12 +82,16 @@ function onUserRemove(event) {
       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) {
@@ -93,8 +100,8 @@ function openRightsForUserID(userID) {
    elements[elements.length-1] = "userRights?uid=" + userID;
 
    window.open(elements.join("/"), "",
-              "width=" + this.userRightsWidth
-              + ",height=" + this.userRightsHeight
+              "width=" + userRightsWidth
+              + ",height=" + userRightsHeight
               + ",resizable=0,scrollbars=0,toolbar=0,"
               + "location=0,directories=0,status=0,menubar=0,copyhistory=0");
 }
@@ -109,12 +116,12 @@ function openRightsForUser(button) {
 
 function openRightsForDefaultUser(event) {
    openRightsForUserID(defaultUserID);
-   event.preventDefault();
+   preventDefault(event);
 }
 
 function onOpenUserRights(event) {
    openRightsForUser();
-   event.preventDefault();
+   preventDefault(event);
 }
 
 function onAclLoadHandler() {
@@ -134,8 +141,8 @@ function onAclLoadHandler() {
       Event.observe(buttons[1], "click", onUserRemove);
    }
 
-   this.userRightsHeight = window.opener.getUsersRightsWindowHeight();
-   this.userRightsWidth = window.opener.getUsersRightsWindowWidth();
+   userRightsHeight = window.opener.getUsersRightsWindowHeight();
+   userRightsWidth = window.opener.getUsersRightsWindowWidth();
 }
 
-Event.observe(window, "load", onAclLoadHandler);
+FastInit.addOnLoad(onAclLoadHandler);