租户管理员支持绑定角色,让不同的租户可拥有不同的菜单。
This commit is contained in:
@@ -30,7 +30,9 @@ import com.jeesite.common.lang.StringUtils;
|
||||
import com.jeesite.common.mybatis.mapper.query.QueryType;
|
||||
import com.jeesite.common.web.BaseController;
|
||||
import com.jeesite.modules.sys.entity.EmpUser;
|
||||
import com.jeesite.modules.sys.entity.Role;
|
||||
import com.jeesite.modules.sys.entity.User;
|
||||
import com.jeesite.modules.sys.service.RoleService;
|
||||
import com.jeesite.modules.sys.service.UserService;
|
||||
import com.jeesite.modules.sys.utils.UserUtils;
|
||||
|
||||
@@ -46,6 +48,8 @@ public class CorpAdminController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
@Autowired
|
||||
private RoleService roleService;
|
||||
|
||||
@ModelAttribute
|
||||
public User get(String userCode, boolean isNewRecord) {
|
||||
@@ -84,6 +88,10 @@ public class CorpAdminController extends BaseController {
|
||||
user.setCorpName_(StringUtils.EMPTY); // 租户名称
|
||||
}
|
||||
}
|
||||
// 获取当前用户所拥有的角色
|
||||
Role role = new Role();
|
||||
role.setUserCode(user.getUserCode());
|
||||
model.addAttribute("roleList", roleService.findListByUserCode(role));
|
||||
// 操作类型:addCorp: 添加租户; addAdmin: 添加管理员; edit: 编辑
|
||||
model.addAttribute("op", op);
|
||||
model.addAttribute("user", user);
|
||||
@@ -135,6 +143,7 @@ public class CorpAdminController extends BaseController {
|
||||
}
|
||||
}
|
||||
userService.save(user);
|
||||
userService.saveAuth(user);
|
||||
// 如果修改的是当前用户,则清除当前用户缓存
|
||||
if (user.getUserCode().equals(UserUtils.getUser().getUserCode())) {
|
||||
UserUtils.clearCache();
|
||||
|
||||
@@ -120,6 +120,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-unit">${text('分配角色')}</div>
|
||||
<div class="pl10 pb20">
|
||||
<table id="roleGrid"></table>
|
||||
<#form:hidden name="userRoleString"/>
|
||||
</div>
|
||||
<#form:extend collapsed="true" />
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
@@ -146,6 +151,9 @@ $("#inputForm").validate({
|
||||
}
|
||||
},
|
||||
submitHandler: function(form){
|
||||
// 获取选中角色
|
||||
$("#userRoleString").val(roleGrid.dataGrid('getSelectRows').join(','));
|
||||
// 提交表单
|
||||
js.ajaxSubmitForm($(form), function(data){
|
||||
js.showMessage(data.message);
|
||||
if(data.result == Global.TRUE){
|
||||
@@ -163,4 +171,29 @@ $('#corpCode_').change(function(){
|
||||
$('#loginCode').val('admin'+$(this).val()).valid();
|
||||
}
|
||||
});
|
||||
//加载角色列表
|
||||
var roleGrid = $("#roleGrid").dataGrid({
|
||||
url: '${ctx}/sys/role/treeData',
|
||||
postData: [
|
||||
<%// {name:'userType',value:'employee'}, // 指定用户类型的角色 %>
|
||||
<%// {name:'ctrlPermi',value:'2'} // 过滤可管理的角色 %>
|
||||
{name:'isAll',value:'true'} <% // 显示所有角色(与上方两个条件互斥) %>
|
||||
],
|
||||
columnModel: [
|
||||
{header:'${text('角色名称')}', name:'name', sortable:false, width:100, align:"center"},
|
||||
{header:'${text('角色编码')}', name:'id', sortable:false, width:100, align:"center"}
|
||||
],
|
||||
showCheckbox: true,
|
||||
autoGridHeight: function(){
|
||||
return 'auto';
|
||||
},
|
||||
autoGridWidth: function(){
|
||||
return $('#inputForm .box-body').width()-20;
|
||||
},
|
||||
ajaxSuccess: function(){
|
||||
<% for (role in roleList!){ %>
|
||||
roleGrid.dataGrid('setSelectRow', '${role.roleCode}');
|
||||
<% } %>
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<div class="box box-main">
|
||||
<div class="box-header">
|
||||
<div class="box-title">
|
||||
<i class="fa icon-user"></i> 系统管理员
|
||||
<i class="fa icon-user"></i> ${@Global.getConfigToBoolean('user.useCorpModel', 'false') ? '租户' : '系统'}管理员
|
||||
</div>
|
||||
<div class="box-tools pull-right">
|
||||
<a href="#" class="btn btn-default" id="btnSearch" title="查询"><i class="fa fa-filter"></i> 查询</a>
|
||||
|
||||
@@ -198,8 +198,7 @@
|
||||
<script>
|
||||
$("#inputForm").validate({
|
||||
submitHandler: function(form){
|
||||
<% if(op == 'add' || op == 'auth') {%>
|
||||
// 获取选中角色
|
||||
<% if(op == 'add' || op == 'auth') { // 获取选中角色 %>
|
||||
$("#userRoleString").val(roleGrid.dataGrid('getSelectRows').join(','));
|
||||
<% } %>
|
||||
js.ajaxSubmitForm($(form), function(data){
|
||||
|
||||
Reference in New Issue
Block a user