67,513
社区成员
发帖
与我相关
我的任务
分享
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@include file="../common/common.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<link href="../style/oa.css" rel="stylesheet" type="text/css">
<script language="javascript" src="../script/public.js"></script>
<script type="text/javascript" src="<%=request.getContextPath() %>/dwr/engine.js"></script>
<script type="text/javascript" src="<%=request.getContextPath() %>/dwr/util.js"></script>
<script type="text/javascript" src="<%=request.getContextPath() %>/dwr/interface/aclManager.js"></script>
<script type="text/javascript">
//授权
function addOrUpdatePermission(field){
dwr.engine.setAsync(false);
//如果被选择上,则同时选择其"不继承"和"启用"checkbox
if(field.checked){
$(field.moduleId+"_USE").checked = true;
<c:if test="${aclInfo.principalType eq 'User' }">
$(field.moduleId+"_EXT").checked = true;
addOrUpdateExtends(field);
</c:if>
}
aclManager.addOrUpdatePermission(
"${aclInfo.principalType}",
${aclInfo.principalId},
field.moduleId,
field.permission,
field.checked
);
}
//设置用户的继承特性
function addOrUpdateExtends(field){
aclManager.addOrUpdateUserExtends(
${aclInfo.principalId},
field.moduleId,
!field.checked
);
}
//点击启用checkbox
function usePermission(field){
//如果checkbox被选中,意味着需要更新ACL的状态
//更新C/R/U/D以及Extends状态
//设置为同步方式,以便DWR依次发出下列请求
dwr.engine.setAsync(false);
if(field.checked){
addOrUpdatePermission($(field.moduleId+"_C"));
addOrUpdatePermission($(field.moduleId+"_R"));
addOrUpdatePermission($(field.moduleId+"_U"));
addOrUpdatePermission($(field.moduleId+"_D"));
<c:if test="${aclInfo.principalType eq 'User' }">
addOrUpdateExtends($(field.moduleId+"_EXT"));
</c:if>
}else{
aclManager.delPermission(
"${aclInfo.principalType}",
${aclInfo.principalId},
field.moduleId
);
$(field.moduleId+"_C").checked = false;
$(field.moduleId+"_R").checked = false;
$(field.moduleId+"_U").checked = false;
$(field.moduleId+"_D").checked = false;
<c:if test="${aclInfo.principalType eq 'User' }">
$(field.moduleId+"_EXT").checked = false;
</c:if>
}
}
function initTable(){
aclManager.searchAclRecord(
"${aclInfo.principalType}",
${aclInfo.principalId},
function(datas){
for(var i=0; i < datas.length; i++){
var moduleId = datas[i][0];
var cState = datas[i][1];
var rState = datas[i][2];
var uState = datas[i][3];
var dState = datas[i][4];
var extState = datas[i][5];
//alert(extState);
$(moduleId+"_C").checked = cState == 0 ? false : true;
alert($(moduleId+"_C").checked);
$(moduleId+"_R").checked = rState == 0 ? false : true;
$(moduleId+"_U").checked = uState == 0 ? false : true;
$(moduleId+"_D").checked = dState == 0 ? false : true;
<c:if test="${aclInfo.principalType eq 'User' }">
$(moduleId+"_EXT").checked = extState == 0 ? true : false;
</c:if>
$(moduleId+"_USE").checked = true;
}
}
);
}
</script>
<c:choose>
<c:when test="${aclInfo.principalType eq 'Role' }">
<c:set var="title" value="请给角色【${role.name }】授权"/>
</c:when>
<c:otherwise>
<c:set var="title" value="请给用户【${user.person.name }】授权"/>
</c:otherwise>
</c:choose>
<title>${title }</title>
</head>
<body onload="initTable()">
<center>
<TABLE class="tableEdit" border="0" cellspacing="1" cellpadding="0" style="width:560px;">
<TBODY>
<TR>
<!-- 这里是添加、编辑界面的标题 -->
<td align="center" class="tdEditTitle">${title }</TD>
</TR>
<TR>
<td>
<!-- 主输入域开始 -->
<table class="tableEdit" style="width:560px;" cellspacing="0" border="0" cellpadding="0">
<tr>
<td class="tdEditLabel" >顶级模块</td>
<td class="tdEditLabel">二级模块</td>
<td class="tdEditLabel" >权限</td>
<c:if test="${aclInfo.principalType eq 'User' }">
<td class="tdEditLabel" >不继承</td>
</c:if>
<td class="tdEditLabel" >启用</td>
</tr>
<!-- 输出模块树 -->
<c:forEach items="${modules }" var="module">
<tr>
<td>${module.name }</td>
<td></td>
<td>
<input type="checkbox" id="${module.id }_C" onclick="addOrUpdatePermission(this)" moduleId="${module.id }" permission="0">C
<input type="checkbox" id="${module.id }_R" onclick="addOrUpdatePermission(this)" moduleId="${module.id }" permission="1">R
<input type="checkbox" id="${module.id }_U" onclick="addOrUpdatePermission(this)" moduleId="${module.id }" permission="2">U
<input type="checkbox" id="${module.id }_D" onclick="addOrUpdatePermission(this)" moduleId="${module.id }" permission="3">D
</td>
<c:if test="${aclInfo.principalType eq 'User' }">
<td><input type="checkbox" id="${module.id }_EXT" onclick="addOrUpdateExtends(this)" moduleId="${module.id }"></td>
</c:if>
<td><input type="checkbox" id="${module.id }_USE" onclick="usePermission(this)" moduleId="${module.id }"></td>
</tr>
<c:forEach items="${module.children }" var="child">
<tr>
<td></td>
<td>${child.name }</td>
<td>
<input type="checkbox" id="${child.id }_C" onclick="addOrUpdatePermission(this)" moduleId="${child.id }" permission="0">C
<input type="checkbox" id="${child.id }_R" onclick="addOrUpdatePermission(this)" moduleId="${child.id }" permission="1">R
<input type="checkbox" id="${child.id }_U" onclick="addOrUpdatePermission(this)" moduleId="${child.id }" permission="2">U
<input type="checkbox" id="${child.id }_D" onclick="addOrUpdatePermission(this)" moduleId="${child.id }" permission="3">D
</td>
<c:if test="${aclInfo.principalType eq 'User' }">
<td><input type="checkbox" id="${child.id }_EXT" onclick="addOrUpdateExtends(this)" moduleId="${child.id }"></td>
</c:if>
<td><input type="checkbox" id="${child.id }_USE" onclick="usePermission(this)" moduleId="${child.id }"></td>
</tr>
</c:forEach>
</c:forEach>
</table>
<!-- 主输入域结束 -->
</td>
</TR>
</TBODY>
</TABLE>
<TABLE>
<TR align="center">
<TD colspan="3" bgcolor="#EFF3F7">
<input type="button" class="MyButton"
value="关闭窗口" onclick="window.close()">
</TD>
</TR>
</TABLE>
</center>
</body>
</html>