63 lines
1.5 KiB
Go
63 lines
1.5 KiB
Go
package controllers
|
|
|
|
import "anytunnel/at-admin/app/models"
|
|
|
|
type Role_PrivilegeController struct {
|
|
BaseAdminController
|
|
}
|
|
|
|
//角色授权
|
|
func (this *Role_PrivilegeController) Add() {
|
|
|
|
roleId, err := this.GetInt("role_id", 0)
|
|
if roleId == 0 {
|
|
this.viewError("role_id is error! ")
|
|
}
|
|
|
|
rolePrivilegeModel := models.RolePrivilege{}
|
|
rolePrivileges, err := rolePrivilegeModel.GetRolePrivilegesByRoleId(roleId)
|
|
if err != nil {
|
|
this.viewError(err.Error())
|
|
}
|
|
|
|
privilegeModel := models.Privilege{}
|
|
navigators, menus, controllers, err := privilegeModel.GetTypedPrivileges("1", "-1")
|
|
if err != nil {
|
|
this.viewError(err.Error())
|
|
}
|
|
|
|
this.Data["navigators"] = navigators
|
|
this.Data["menus"] = menus
|
|
this.Data["controllers"] = controllers
|
|
this.Data["rolePrivileges"] = rolePrivileges
|
|
this.Data["privileges"] = rolePrivileges
|
|
this.Data["role_id"] = roleId
|
|
|
|
this.viewLayout("role/privilege", "form")
|
|
}
|
|
|
|
func (this *Role_PrivilegeController) Save() {
|
|
|
|
privilegeIds := this.GetStrings("privilege_id", []string{})
|
|
roleId, err := this.GetInt("role_id", 0)
|
|
|
|
if err != nil {
|
|
this.jsonError("角色授权失败:role_id error " + err.Error())
|
|
}
|
|
if roleId == 0 {
|
|
this.jsonError("角色授权失败:role_id is error!")
|
|
}
|
|
if len(privilegeIds) == 0 {
|
|
this.jsonError("角色授权失败:no select privilege!")
|
|
}
|
|
|
|
rolePrivilegeModel := models.RolePrivilege{}
|
|
|
|
res, err := rolePrivilegeModel.GrantRolePrivileges(roleId, privilegeIds)
|
|
if !res {
|
|
this.jsonError("角色授权失败:" + err.Error())
|
|
}
|
|
|
|
this.jsonSuccess("角色授权成功")
|
|
}
|