blob: 3603e1c66c7d5e510ffc613db965ea4a81b9bf28 [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.
*/
UserManager={contextPath:"",formatMsg:function(c,a){var b=/{(\d+)}/g;
return c.replace(b,function(){var d=parseInt(arguments[1]);
return a[d]
})
},messages:{"error.dlg.title":"Error","confirm.yes":"Yes","confirm.no":"No","button.add":"Add","searching.progress.msg":"Searching, please wait...","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","group.created.msg":"Created the group","user.created.msg":"Created the user"}};
UserManager.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")
}}}};
UserManager.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=UserManager.messages["error.dlg.title"];
b=$.parseJSON(d.responseText);
if(b.error){UserManager.ErrorDlg.showError(f,b.error.message)
}else{UserManager.ErrorDlg.showError(f,d.responseText)
}}catch(a){UserManager.ErrorDlg.showError(f,d.responseText)
}}};
UserManager.Authorizables={progressFnId:null,init:function(){$("#find-authorizables-quick-nav").buttonset().show();
UserManager.Authorizables.applyResultStylesAndHandlers();
$('#find-authorizables-quick-nav input[type = "radio"]').change(function(a){$("#searchOffset").val(0);
$("#findAuthorizablesQuery").val("");
UserManager.Authorizables.runSearchFn();
return false
});
$("button#findAuthorizablesBtn").button();
$("button#findAuthorizablesBtn").click(function(a){if($("#findAuthorizablesQuery").val()==""){$("#radioAll").attr("checked",true);
$("#radioAll").button("refresh")
}else{$("#radioNone").attr("checked",true);
$("#radioNone").button("refresh")
}UserManager.Authorizables.runSearchFn(0);
return false
});
$(window).bind("hashchange",UserManager.Authorizables.runSearchFromHashFn);
$(window).trigger("hashchange")
},progressFn:function(){$("#authorizables-results-body").after('<div id="authorizables-results-progress" class="search-empty-msg ui-corner-all ui-state-highlight">'+UserManager.messages["searching.progress.msg"]+"</div>");
UserManager.Authorizables.progressFnId=null
},clearProgressFn:function(){if(UserManager.Authorizables.progressFnId!=null){clearTimeout(UserManager.Authorizables.progressFnId);
UserManager.Authorizables.progressFnId=null
}$("#authorizables-results-progress").remove()
},runSearchFn:function(c){var a,b;
$("#searchOffset").val(c==undefined?"0":c);
a=$("#find-authorizables-form");
b=a.serialize();
window.location.hash=b
},parseHashParams:function(){var c={},h,b=/\+/g,f=/([^&;=]+)=?([^&;]*)/g,i=function(a){return decodeURIComponent(a.replace(b," "))
},g=window.location.hash.substring(1);
while(h=f.exec(g)){c[i(h[1])]=i(h[2])
}return c
},runSearchFromHashFn:function(){var b,c,a;
b=$("#find-authorizables-form");
c=b.attr("action");
c=c.substring(0,c.length-4)+"searchresult.html";
a=UserManager.Authorizables.parseHashParams();
$("#findAuthorizablesQuery").val(a.q==undefined?"":a.q);
$('#find-authorizables-quick-nav input[value="'+(a.sp==undefined?"":a.sp)+'"]').attr("checked",true).button("refresh");
$("#searchOffset").val(a.o==undefined?"0":a.o);
if(a.q==undefined&&a.sp==undefined){if($("#search-result-ready-to-search").length==0){$.ajax({url:c,type:"get",success:UserManager.Authorizables.searchDoneFn,error:UserManager.ErrorDlg.errorHandler})
}return
}$("#authorizables-results-body").hide();
UserManager.Authorizables.clearProgressFn();
UserManager.Authorizables.progressFnId=setTimeout(UserManager.Authorizables.progressFn,200);
$.ajax({url:c,type:"get",data:b.serialize(),cache:false,success:UserManager.Authorizables.searchDoneFn,error:function(e,f,d){UserManager.Authorizables.clearProgressFn();
UserManager.ErrorDlg.errorHandler(e,f,d)
}})
},searchDoneFn:function(a,c,b){UserManager.Authorizables.clearProgressFn();
$("#authorizables-results-body").replaceWith(a);
UserManager.Authorizables.applyResultStylesAndHandlers()
},applyResultStylesAndHandlers:function(a,c,b){$("#search-result-body tr").mouseover(function(){$(this).addClass("ui-state-highlight")
}).mouseout(function(){$(this).removeClass("ui-state-highlight")
}).click(function(){var d=$(this).find("td a")[0].href;
window.location=d;
return false
});
$("#first_page").button().click(function(){UserManager.Authorizables.runSearchFn(0);
return false
});
$("#prev_page").button().click(function(){UserManager.Authorizables.runSearchFn($("#prev_page").val());
return false
});
$("#next_page").button().click(function(){UserManager.Authorizables.runSearchFn($("#next_page").val());
return false
})
}};
UserManager.Group={};
UserManager.Group.Create={init:function(){$("button#createGroupBtn").button();
$("#create-group-form").validate({rules:{":name":"required"}});
$("button#createGroupBtn").click(function(d){var b,a,c;
b=$("#create-group-form");
if(!b.valid()){return false
}a=b.attr("action");
a=a.substring(0,a.length-4)+"json";
$("#redirect").attr("disabled",true);
c=b.serialize();
$("#redirect").removeAttr("disabled");
$("#create-group-body div.info-msg-block").hide();
$.ajax({url:a,type:"POST",data:c,success:function(e,g,f){$("#create-group-form input[type='text']").val("");
$("#create-group-body span.info-msg-text").html(UserManager.messages["group.created.msg"]);
$("#create-group-body div.info-msg-block").show()
},error:UserManager.ErrorDlg.errorHandler});
return false
})
}};
UserManager.Group.Update={init:function(){$("button#updateGroupBtn").button();
$("#update-group-form").validate({rules:{}});
$(".remove-member").hover(function(){$(this).addClass("ui-state-hover")
},function(){$(this).removeClass("ui-state-hover")
}).click(function(b){var a=$(b.currentTarget.parentNode);
a.hide("slow",function(){if($("ol#declaredMembers li:visible").length==0){$("#declaredMembers__empty").show()
}});
a.find("input").attr("name",":member@Delete");
return false
});
$(".remove-property").hover(function(){$(this).addClass("ui-state-hover")
},function(){$(this).removeClass("ui-state-hover")
}).click(function(d){var c,a,b;
c=$(d.currentTarget.parentNode);
c.hide("slow");
a=c.find("input");
b=a.attr("name");
a.attr("name",b+"@Delete");
return false
});
$("button#updateGroupBtn").click(function(d){var b,a,c;
b=$("#update-group-form");
if(!b.valid()){return false
}a=b.attr("action");
a=a.substring(0,a.length-4)+"json";
$("#redirect").attr("disabled",true);
c=b.serialize();
$("#redirect").removeAttr("disabled");
$("#update-group-body div.info-msg-block").hide();
$.ajax({url:a,type:"POST",data:c,success:function(e,g,f){$("#update-group-body").parent().load(UserManager.contextPath+e.path+".update_body.html",function(){$("#update-group-body span.info-msg-text").html(UserManager.messages["group.updated.msg"]);
$("#update-group-body div.info-msg-block").show()
});
setTimeout(function(){UserManager.Group.Update.init();
$(".noscript-hide").removeClass("noscript-hide")
},100)
},error:UserManager.ErrorDlg.errorHandler});
return false
});
$("a#removeGroupLink").click(function(a){$("#remove-group-dialog").dialog({autoOpen:false,height:"auto",width:350,modal:true,resizable:false,buttons:[{text:UserManager.messages["confirm.yes"],click:function(){$("#remove-group-form").submit()
}},{text:UserManager.messages["confirm.no"],click:function(){$("#remove-group-dialog").dialog("close")
}}]});
$("#remove-group-dialog").dialog("open");
return false
});
$("a#add_property").click(function(a){$("#add-property-dialog").dialog({autoOpen:false,height:"auto",width:350,modal:true,resizable:false,buttons:[{text:UserManager.messages["button.add"],click:function(){var e,c,b,d;
e=$("#add-property-form");
if(!e.valid()){return false
}c=$("#newPropName").val();
b=c;
$("#updateSubmitBtns").before('<div class="prop-line ui-helper-clearfix"><label for="'+c+'">'+b+':</label> <input id="'+c+'" type="text" name="'+c+'" /> <a href="#" class="remove-property" title="'+UserManager.messages["tooltip.removeProperty"]+'"><span class="ui-icon ui-icon-circle-close"></span></a></div>');
d=$("#updateSubmitBtns").prev();
d.find("a.remove-property").hover(function(){$(this).addClass("ui-state-hover")
},function(){$(this).removeClass("ui-state-hover")
}).click(function(f){var g=$(f.currentTarget.parentNode);
g.hide("slow",function(){g.remove()
});
return false
});
$("#add-property-dialog").dialog("close");
d.find("input").focus()
}}]});
$("#newPropName").val("");
$("#add-property-dialog").dialog("open");
return false
});
$("#add-property-form").submit(function(b){var a=$("#add-property-dialog").dialog("option","buttons");
a[0].click();
return false
}).validate({rules:{name:"required"}});
$("a#add_member").click(function(a){$("#add-member-dialog").dialog({autoOpen:false,height:"auto",width:350,modal:true,resizable:false,buttons:[{text:UserManager.messages["button.add"],click:function(){var f,c,b,g,d,e;
f=$("#add-group-member-form");
if(!f.valid()){return false
}c=$("#memberName").val();
b=c;
e=$("#memberName").data("item");
if(e){if(e.label&&e.value==c){b=e.label
}}g='<li><input type="hidden" name=":member" value="'+c+'" /><span>'+b+'</span> <a href="#" class="remove-member" title="'+UserManager.messages["tooltip.removeMember"]+'"><span class="ui-icon ui-icon-circle-close"></span></a></li>';
$("#declaredMembers__empty").hide();
$("#declaredMembers").append(g);
d=$("#declaredMembers").find("li").last();
d.find("a.remove-member").hover(function(){$(this).addClass("ui-state-hover")
},function(){$(this).removeClass("ui-state-hover")
}).click(function(i){var h=$(i.currentTarget.parentNode);
h.hide("slow",function(){h.remove();
if($("ol#declaredMembers li:visible").length==0){$("#declaredMembers__empty").show()
}});
return false
});
$("#add-member-dialog").dialog("close");
return false
}}]});
$("#memberName").val("");
$("#add-member-dialog").dialog("open");
return false
});
$("#add-group-member-form").submit(function(b){var a=$("#add-member-dialog").dialog("option","buttons");
a[0].click();
return false
}).validate({rules:{":member":"required"}});
if($("#memberName").length>0){$("#memberName").autocomplete({source:UserManager.contextPath+"/system/userManager.autocomplete.json",minLength:1,select:function(b,c){var a=c.item;
$("#memberName").val(a.value).data("item",a)
}}).data("autocomplete")._renderItem=function(a,b){return $("<li></li>").data("item.autocomplete",b).append("<a>"+(b.label?(b.label+" ("+b.value+")"):b.value)+"</a>").appendTo(a)
}
}}};
UserManager.User={};
UserManager.User.Create={init:function(){$("button#createUserBtn").button();
$("#create-user-form").validate({rules:{":name":"required",pwd:"required",pwdConfirm:{equalTo:"#pwd"}}});
$("button#createUserBtn").click(function(d){var b,a,c;
b=$("#create-user-form");
if(!b.valid()){return false
}a=b.attr("action");
a=a.substring(0,a.length-4)+"json";
$("#redirect").attr("disabled",true);
c=b.serialize();
$("#redirect").removeAttr("disabled");
$("#create-user-body div.info-msg-block").hide();
$.ajax({url:a,type:"POST",data:c,success:function(e,g,f){$("#create-user-form input[type='text']").val("");
$("#create-user-form input[type='password']").val("");
$("#create-user-body span.info-msg-text").html(UserManager.messages["user.created.msg"]);
$("#create-user-body div.info-msg-block").show()
},error:UserManager.ErrorDlg.errorHandler});
return false
})
}};
UserManager.User.Update={init:function(){$("button#updateUserBtn").button();
$("#update-user-form").validate({rules:{}});
var a=function(c){var b=$('input:radio[name=":disabled"]:checked').val();
if(b=="true"){$("#disabledReasonPanel").show()
}else{$("#disabledReasonPanel").hide()
}return false
};
$('input:radio[name=":disabled"]').change(a);
a();
$(".remove-property").hover(function(){$(this).addClass("ui-state-hover")
},function(){$(this).removeClass("ui-state-hover")
}).click(function(f){var d,b,c;
d=$(f.currentTarget.parentNode);
d.hide("slow");
b=d.find("input");
c=b.attr("name");
b.attr("name",c+"@Delete");
return false
});
$("button#updateUserBtn").click(function(f){var c,b,d;
c=$("#update-user-form");
if(!c.valid()){return false
}b=c.attr("action");
b=b.substring(0,b.length-4)+"json";
$("#redirect").attr("disabled",true);
d=c.serialize();
$("#redirect").removeAttr("disabled");
$("#update-user-body div.info-msg-block").hide();
$.ajax({url:b,type:"POST",data:d,success:function(e,h,g){$("#update-user-body").parent().load(UserManager.contextPath+e.path+".update_body.html",function(){$("#update-user-body span.info-msg-text").html(UserManager.messages["user.updated.msg"]);
$("#update-user-body div.info-msg-block").show()
});
setTimeout(function(){UserManager.User.Update.init();
if($("#update-password-form").length>0){UserManager.User.UpdatePassword.init()
}$(".noscript-hide").removeClass("noscript-hide")
},100)
},error:UserManager.ErrorDlg.errorHandler});
return false
});
$("a#removeUserLink").click(function(b){$("#remove-user-dialog").dialog({autoOpen:false,height:"auto",width:350,modal:true,resizable:false,buttons:[{text:UserManager.messages["confirm.yes"],click:function(){$("#remove-user-form").submit()
}},{text:UserManager.messages["confirm.no"],click:function(){$("#remove-user-dialog").dialog("close")
}}]});
$("#remove-user-dialog").dialog("open");
return false
});
$("a#add_property").click(function(b){$("#add-property-dialog").dialog({autoOpen:false,height:"auto",width:350,modal:true,resizable:false,buttons:[{text:UserManager.messages["button.add"],click:function(){var f,d,c,e;
f=$("#add-property-form");
if(!f.valid()){return false
}d=$("#newPropName").val();
c=d;
$("#updateSubmitBtns").before('<div class="prop-line ui-helper-clearfix"><label for="'+d+'">'+c+':</label> <input id="'+d+'" type="text" name="'+d+'" /> <a href="#" class="remove-property" title="'+UserManager.messages["tooltip.removeProperty"]+'"><span class="ui-icon ui-icon-circle-close"></span></a></div>');
e=$("#updateSubmitBtns").prev();
e.find("a.remove-property").hover(function(){$(this).addClass("ui-state-hover")
},function(){$(this).removeClass("ui-state-hover")
}).click(function(g){var h=$(g.currentTarget.parentNode);
h.hide("slow",function(){h.remove()
});
return false
});
$("#add-property-dialog").dialog("close");
e.find("input").focus()
}}]});
$("#newPropName").val("");
$("#add-property-dialog").dialog("open");
return false
});
$("#add-property-form").submit(function(c){var b=$("#add-property-dialog").dialog("option","buttons");
b[0].click();
return false
}).validate({rules:{name:"required"}})
}};
UserManager.User.UpdatePassword={init:function(){$("button#updatePasswordBtn").button();
$("#update-password-form").validate({rules:{oldPwd:"required",newPwd:"required",newPwdConfirm:{equalTo:"#newPwd"}}});
$("#update-password-form input[type='password']").val("");
$("button#updatePasswordBtn").click(function(d){var b,a,c;
b=$("#update-password-form");
if(!b.valid()){return false
}a=b.attr("action");
a=a.substring(0,a.length-4)+"json";
$("#pwdRedirect").attr("disabled",true);
c=b.serialize();
$("#pwdRedirect").removeAttr("disabled");
$("#update-password-body div.info-msg-block").hide();
$.ajax({url:a,type:"POST",data:c,success:function(e,g,f){$("#update-password-form input[type='password']").val("");
$("#update-password-body span.info-msg-text").html(UserManager.messages["user.pwd.updated.msg"]);
$("#update-password-body div.info-msg-block").show()
},error:UserManager.ErrorDlg.errorHandler});
return false
})
}};
$(function(){$(".noscript-hide").removeClass("noscript-hide");
if($("#sidebar-nav").length>0){UserManager.SideBar.init()
}if($("#find-authorizables-form").length>0){UserManager.Authorizables.init()
}if($("#update-group-form").length>0){UserManager.Group.Update.init()
}if($("#create-group-form").length>0){UserManager.Group.Create.init()
}if($("#update-user-form").length>0){UserManager.User.Update.init()
}if($("#update-password-form").length>0){UserManager.User.UpdatePassword.init()
}if($("#create-user-form").length>0){UserManager.User.Create.init()
}});