Files
anytunnel/at-admin/app/controllers/role_privilege.go
T
2019-08-08 17:13:34 +08:00

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("角色授权成功")
}