FIX2: Allow creation of roles with names of deleted roles
This allows admins to create roles with names of previously deleted
roles.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
diff --git a/server/src/org/apache/cloudstack/acl/RoleManagerImpl.java b/server/src/org/apache/cloudstack/acl/RoleManagerImpl.java
index 7363b13..27cb3d0 100644
--- a/server/src/org/apache/cloudstack/acl/RoleManagerImpl.java
+++ b/server/src/org/apache/cloudstack/acl/RoleManagerImpl.java
@@ -50,6 +50,7 @@
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Date;
import java.util.List;
@Local(value = {RoleService.class})
@@ -172,7 +173,12 @@
rolePermissionsDao.remove(rolePermission.getId());
}
}
- return roleDao.remove(role.getId());
+ if (roleDao.remove(role.getId())) {
+ RoleVO roleVO = roleDao.findByIdIncludingRemoved(role.getId());
+ roleVO.setName(role.getName() + "-deleted-" + new Date());
+ return roleDao.update(role.getId(), roleVO);
+ }
+ return false;
}
});
}