From b889574640e3abbe7acba763bdea8a45ae1e9183 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Tue, 21 Sep 2010 18:07:54 +0200 Subject: [PATCH] Added method isInRole to User in order to make it more coherent with SecurityUtils.isUserInRole. FEA: ItEr60S04ValidacionEProbasFuncionaisItEr59S04 --- .../business/orders/daos/OrderDAO.java | 8 +++----- .../business/users/entities/User.java | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrderDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrderDAO.java index a369deee5..a3d46c474 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrderDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/OrderDAO.java @@ -24,7 +24,6 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.Set; import org.apache.commons.lang.StringUtils; import org.hibernate.Query; @@ -184,9 +183,8 @@ public class OrderDAO extends IntegrationEntityDAO implements @Override public List getOrdersByReadAuthorization(User user) { - Set roles = user.getAllRoles(); - if (roles.contains(UserRole.ROLE_READ_ALL_ORDERS) || - roles.contains(UserRole.ROLE_EDIT_ALL_ORDERS)) { + if (user.isInRole(UserRole.ROLE_READ_ALL_ORDERS) || + user.isInRole(UserRole.ROLE_EDIT_ALL_ORDERS)) { return getOrders(); } else { @@ -209,7 +207,7 @@ public class OrderDAO extends IntegrationEntityDAO implements @Override public List getOrdersByWriteAuthorization(User user) { - if (user.getAllRoles().contains(UserRole.ROLE_EDIT_ALL_ORDERS)) { + if (user.isInRole(UserRole.ROLE_EDIT_ALL_ORDERS)) { return getOrders(); } else { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/users/entities/User.java b/navalplanner-business/src/main/java/org/navalplanner/business/users/entities/User.java index 5d4395f6f..fd0623855 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/users/entities/User.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/users/entities/User.java @@ -122,6 +122,21 @@ public class User extends BaseEntity { return allRoles; } + /** + * Checks if current user is in the requested role + */ + public boolean isInRole(UserRole role) { + if (roles.contains(role)) { + return true; + } + for (Profile profile : profiles) { + if (profile.getRoles().contains(role)) { + return true; + } + } + return false; + } + public void setEmail(String email) { this.email = email; }