瀏覽代碼

allow deletion of roles and groups

abhishek9686 1 年之前
父節點
當前提交
aa6c0aee7b
共有 1 個文件被更改,包括 9 次插入6 次删除
  1. 9 6
      pro/logic/user_mgmt.go

+ 9 - 6
pro/logic/user_mgmt.go

@@ -345,11 +345,13 @@ func DeleteRole(rid models.UserRoleID) error {
 			ug, err := GetUserGroup(userG)
 			if err == nil {
 				if role.NetworkID != "" {
-					for _, networkRoles := range ug.NetworkRoles {
+					for netID, networkRoles := range ug.NetworkRoles {
 						if _, ok := networkRoles[rid]; ok {
-							err = errors.New("role cannot be deleted as active user groups are using this role")
-							return err
+							delete(networkRoles, rid)
+							ug.NetworkRoles[netID] = networkRoles
+							UpdateUserGroup(ug)
 						}
+
 					}
 				}
 
@@ -360,10 +362,11 @@ func DeleteRole(rid models.UserRoleID) error {
 			err = errors.New("active roles cannot be deleted.switch existing users to a new role before deleting")
 			return err
 		}
-		for _, networkRoles := range user.NetworkRoles {
+		for netID, networkRoles := range user.NetworkRoles {
 			if _, ok := networkRoles[rid]; ok {
-				err = errors.New("active roles cannot be deleted.switch existing users to a new role before deleting")
-				return err
+				delete(networkRoles, rid)
+				user.NetworkRoles[netID] = networkRoles
+				logic.UpsertUser(user)
 			}
 
 		}