blob: 045570b983744f659516ecfe2a21a4aa69d7b61b [file] [log] [blame]
/*!
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
AccessManager={contextPath:"",messages:{"error.dlg.title":"Error","confirm.yes":"Yes","confirm.no":"No","button.add":"Add","tooltip.removeProperty":"Remove Property","tooltip.removeMember":"Remove Member","group.updated.msg":"Updated the group","user.updated.msg":"Updated the user","user.pwd.updated.msg":"Updated the password"}};
AccessManager.SideBar={init:function(){var c,b,a,d,e;
b=$("ul#sidebar-nav li a");
a=location.href;
d=location.hash;
if(d!=null&&d.length>0){a=a.substring(0,a.length-d.length)
}for(c=0;
c<b.length;
c++){e=b[c];
if(a==e.href){$(e.parentNode).addClass("ui-corner-all ui-state-highlight")
}}}};
AccessManager.ErrorDlg={showError:function(b,a){if($("#error_dialog").length==0){$("body").append('<div id="error_dialog" style="display:none;"></div>')
}$("#error_dialog").html(a);
$("#error_dialog").dialog({title:b,bgiframe:true,autoOpen:false,width:400,maxHeight:500,modal:true});
$("#error_dialog").dialog("open")
},errorHandler:function(d,g,c){var f,b;
try{f=UserMgmt.messages["error.dlg.title"];
b=$.parseJSON(d.responseText);
if(b.error){UserMgmt.ErrorDlg.showError(f,b.error.message)
}else{UserMgmt.ErrorDlg.showError(f,d.responseText)
}}catch(a){UserMgmt.ErrorDlg.showError(f,d.responseText)
}}};
AccessManager.Acl={init:function(){$("#acl-list button").button();
$("#acl-list tbody tr:odd").addClass("odd");
$(".remove-ace").click(function(b){var a=this.form;
$("#remove-ace-dialog").dialog({autoOpen:false,height:"auto",width:350,modal:true,resizable:false,buttons:[{text:AccessManager.messages["confirm.yes"],click:function(){a.submit()
}},{text:AccessManager.messages["confirm.no"],click:function(){$("#remove-ace-dialog").dialog("close")
}}]});
$("#remove-ace-dialog").dialog("open");
return false
})
}};
AccessManager.Ace={init:function(){var b,d;
b=AccessManager.Ace;
$("#ace-list tbody tr:odd").addClass("odd");
$("#addAceSaveButton").button();
d=$("#update-ace-form");
d.validate({rules:{principalId:"required"}});
var f=$("input[name='privilege@jcr:all'][value=granted]:radio:checked");
var a=$("input[name='privilege@jcr:all'][value=denied]:radio:checked");
if(f.length>0||a.length>0){var e=f.length>0?"granted":"denied";
b.setAggregatePrivilege("jcr:read",e);
b.setAggregatePrivilege("jcr:write",e);
b.setAggregatePrivilege("jcr:modifyProperties",e);
b.setAggregatePrivilege("jcr:removeNode",e);
b.setAggregatePrivilege("jcr:addChildNodes",e);
b.setAggregatePrivilege("jcr:removeChildNodes",e);
b.setAggregatePrivilege("jcr:readAccessControl",e);
b.setAggregatePrivilege("jcr:modifyAccessControl",e);
b.setAggregatePrivilege("jcr:lockManagement",e);
b.setAggregatePrivilege("jcr:versionManagement",e);
b.setAggregatePrivilege("jcr:nodeTypeManagement",e);
b.setAggregatePrivilege("jcr:retentionManagement",e);
b.setAggregatePrivilege("jcr:lifecycleManagement",e)
}else{var c=$("input[name='privilege@jcr:write'][value=granted]:radio:checked");
var g=$("input[name='privilege@jcr:write'][value=denied]:radio:checked");
if(c.length>0||g.length>0){var e=c.length>0?"granted":"denied";
b.setAggregatePrivilege("jcr:modifyProperties",e);
b.setAggregatePrivilege("jcr:removeNode",e);
b.setAggregatePrivilege("jcr:addChildNodes",e);
b.setAggregatePrivilege("jcr:removeChildNodes",e)
}}$("input[name='privilege@jcr:all']:radio").bind("change",function(h){b.setAggregatePrivilege("jcr:read",this.value);
b.setAggregatePrivilege("jcr:write",this.value);
b.setAggregatePrivilege("jcr:modifyProperties",this.value);
b.setAggregatePrivilege("jcr:removeNode",this.value);
b.setAggregatePrivilege("jcr:addChildNodes",this.value);
b.setAggregatePrivilege("jcr:removeChildNodes",this.value);
b.setAggregatePrivilege("jcr:readAccessControl",this.value);
b.setAggregatePrivilege("jcr:modifyAccessControl",this.value);
b.setAggregatePrivilege("jcr:lockManagement",this.value);
b.setAggregatePrivilege("jcr:versionManagement",this.value);
b.setAggregatePrivilege("jcr:nodeTypeManagement",this.value);
b.setAggregatePrivilege("jcr:retentionManagement",this.value);
b.setAggregatePrivilege("jcr:lifecycleManagement",this.value)
});
$("input[name='privilege@jcr:write']:radio").bind("change",function(h){b.setAggregatePrivilege("jcr:modifyProperties",this.value);
b.setAggregatePrivilege("jcr:removeNode",this.value);
b.setAggregatePrivilege("jcr:addChildNodes",this.value);
b.setAggregatePrivilege("jcr:removeChildNodes",this.value)
});
$("#principalId").autocomplete({source:AccessManager.contextPath+"/system/userManager.autocomplete.json",minLength:1,select:function(i,j){var h=j.item;
$("#principalId").val(h.value).data("item",h)
}}).data("autocomplete")._renderItem=function(h,i){return $("<li></li>").data("item.autocomplete",i).append("<a>"+(i.label?(i.label+" ("+i.value+")"):i.value)+"</a>").appendTo(h)
};
$("#removeAceLink").click(function(h){$("#remove-ace-dialog").dialog({autoOpen:false,height:"auto",width:350,modal:true,resizable:false,buttons:[{text:AccessManager.messages["confirm.yes"],click:function(){$("#remove-ace-form").submit()
}},{text:AccessManager.messages["confirm.no"],click:function(){$("#remove-ace-dialog").dialog("close")
}}]});
$("#remove-ace-dialog").dialog("open");
return false
})
},setAggregatePrivilege:function(b,c){var a=$("input[name='privilege@"+b+"'][value=granted]:radio");
a.attr("checked",c=="granted");
a.attr("disabled",c!="none");
a=$("input[name='privilege@"+b+"'][value=denied]:radio");
a.attr("checked",c=="denied");
a.attr("disabled",c!="none");
a=$("input[name='privilege@"+b+"'][value=none]:radio");
a.attr("checked",c=="none");
a.attr("disabled",c!="none")
}};
$(function(){$(".noscript-hide").removeClass("noscript-hide");
if($("#sidebar-nav").length>0){AccessManager.SideBar.init()
}if($("#update-acl-block").length>0){AccessManager.Acl.init()
}if($("#update-ace-form").length>0){AccessManager.Ace.init()
}});