Add permissions for ROLE_SUPERUSER where ROLE_EDIT_ALL_PROJECTS is used

FEA: ItEr76S30PermissionsEnhancements
This commit is contained in:
Manuel Rego Casasnovas 2012-06-26 11:11:12 +02:00
parent 80d9f11c92
commit 01446a0f6a
5 changed files with 18 additions and 11 deletions

View file

@ -193,8 +193,9 @@ public class OrderDAO extends IntegrationEntityDAO<Order> implements
@Override
public List<Order> getOrdersByReadAuthorization(User user) {
if (user.isInRole(UserRole.ROLE_READ_ALL_PROJECTS) ||
user.isInRole(UserRole.ROLE_EDIT_ALL_PROJECTS)) {
if (user.isInRole(UserRole.ROLE_SUPERUSER)
|| user.isInRole(UserRole.ROLE_READ_ALL_PROJECTS)
|| user.isInRole(UserRole.ROLE_EDIT_ALL_PROJECTS)) {
return getOrders();
}
else {
@ -217,7 +218,8 @@ public class OrderDAO extends IntegrationEntityDAO<Order> implements
@Override
public List<Order> getOrdersByWriteAuthorization(User user) {
if (user.isInRole(UserRole.ROLE_EDIT_ALL_PROJECTS)) {
if (user.isInRole(UserRole.ROLE_SUPERUSER)
|| user.isInRole(UserRole.ROLE_EDIT_ALL_PROJECTS)) {
return getOrders();
}
else {

View file

@ -387,8 +387,9 @@ public class LimitingResourceQueueModel implements ILimitingResourceQueueModel {
@Override
@Transactional(readOnly = true)
public boolean userCanRead(Order order, String loginName) {
if (SecurityUtils.isUserInRole(UserRole.ROLE_READ_ALL_PROJECTS)
|| SecurityUtils.isUserInRole(UserRole.ROLE_EDIT_ALL_PROJECTS)) {
if (SecurityUtils.isSuperuserOrUserInRoles(
UserRole.ROLE_READ_ALL_PROJECTS,
UserRole.ROLE_EDIT_ALL_PROJECTS)) {
return true;
}
try {

View file

@ -759,8 +759,9 @@ public class OrderModel extends IntegrationEntityModel implements IOrderModel {
@Override
@Transactional(readOnly = true)
public boolean userCanRead(Order order, String loginName) {
if (SecurityUtils.isUserInRole(UserRole.ROLE_READ_ALL_PROJECTS) ||
SecurityUtils.isUserInRole(UserRole.ROLE_EDIT_ALL_PROJECTS)) {
if (SecurityUtils.isSuperuserOrUserInRoles(
UserRole.ROLE_READ_ALL_PROJECTS,
UserRole.ROLE_EDIT_ALL_PROJECTS)) {
return true;
}
if (order.isNewObject()
@ -789,7 +790,8 @@ public class OrderModel extends IntegrationEntityModel implements IOrderModel {
@Override
@Transactional(readOnly = true)
public boolean userCanWrite(Order order, String loginName) {
if (SecurityUtils.isUserInRole(UserRole.ROLE_EDIT_ALL_PROJECTS)) {
if (SecurityUtils
.isSuperuserOrUserInRoles(UserRole.ROLE_EDIT_ALL_PROJECTS)) {
return true;
}
if (order.isNewObject()

View file

@ -959,7 +959,8 @@ public class OrderPlanningModel implements IOrderPlanningModel {
// STORED orders can't be saved, independently of user permissions
return false;
}
if (SecurityUtils.isUserInRole(UserRole.ROLE_EDIT_ALL_PROJECTS)) {
if (SecurityUtils
.isSuperuserOrUserInRoles(UserRole.ROLE_EDIT_ALL_PROJECTS)) {
return true;
}
return thereIsWriteAuthorizationFor(planningState.getOrder());

View file

@ -156,8 +156,9 @@ public class ResourceLoadModel implements IResourceLoadModel {
@Override
@Transactional(readOnly = true)
public boolean userCanRead(Order order, String loginName) {
if (SecurityUtils.isUserInRole(UserRole.ROLE_READ_ALL_PROJECTS)
|| SecurityUtils.isUserInRole(UserRole.ROLE_EDIT_ALL_PROJECTS)) {
if (SecurityUtils.isSuperuserOrUserInRoles(
UserRole.ROLE_READ_ALL_PROJECTS,
UserRole.ROLE_EDIT_ALL_PROJECTS)) {
return true;
}
try {