From 8445e59185d21e7315536a110f2f4b649bad5a19 Mon Sep 17 00:00:00 2001 From: Susana Montes Pedreira Date: Fri, 20 Apr 2012 18:38:10 +0100 Subject: [PATCH] Configuring permissions to access and to save the expenses sheet with the role "Expenses tracking allowed". FEA: ItEr76S22ExpenseTrackingSystem --- .../org/libreplan/business/users/entities/UserRole.java | 3 ++- .../java/org/libreplan/web/common/CustomMenuController.java | 6 +++++- .../resources/libreplan-webapp-spring-security-config.xml | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libreplan-business/src/main/java/org/libreplan/business/users/entities/UserRole.java b/libreplan-business/src/main/java/org/libreplan/business/users/entities/UserRole.java index b8612a0b9..f7558497e 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/users/entities/UserRole.java +++ b/libreplan-business/src/main/java/org/libreplan/business/users/entities/UserRole.java @@ -35,7 +35,8 @@ public enum UserRole { ROLE_WS_WRITER(_("Web service writer")), ROLE_READ_ALL_ORDERS(_("All projects read allowed")), ROLE_EDIT_ALL_ORDERS(_("All projects edition allowed")), - ROLE_CREATE_ORDER(_("Project creation allowed")); + ROLE_CREATE_ORDER(_("Project creation allowed")), + ROLE_EXPENSE_TRACKING(_("Expenses tracking allowed")); private final String displayName; diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/common/CustomMenuController.java b/libreplan-webapp/src/main/java/org/libreplan/web/common/CustomMenuController.java index 705060107..e05e38615 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/common/CustomMenuController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/common/CustomMenuController.java @@ -298,7 +298,11 @@ public class CustomMenuController extends Div implements IMenuItemsRegister { resourcesItems.add(subItem(_("Machines"), "/resources/machine/machines.zul","05-recursos.html#xesti-n-de-m-quinas")); resourcesItems.add(subItem(_("Virtual Workers Groups"),"/resources/worker/virtualWorkers.zul","05-recursos.html#xesti-n-de-traballadores")); resourcesItems.add(subItem(_("Work Reports"), "/workreports/workReport.zul", "09-partes.html#id3")); - resourcesItems.add(subItem(_("Expense Tracking"), "/expensesheet/expenseSheet.zul", "")); + if ((SecurityUtils.isUserInRole(UserRole.ROLE_ADMINISTRATION)) + || (SecurityUtils.isUserInRole(UserRole.ROLE_EXPENSE_TRACKING))) { + resourcesItems + .add(subItem(_("Expense Tracking"), "/expensesheet/expenseSheet.zul", "")); + } if (SecurityUtils.isUserInRole(UserRole.ROLE_ADMINISTRATION)) { resourcesItems.add(subItem(_("Companies"), "/externalcompanies/externalcompanies.zul","")); } diff --git a/libreplan-webapp/src/main/resources/libreplan-webapp-spring-security-config.xml b/libreplan-webapp/src/main/resources/libreplan-webapp-spring-security-config.xml index 164b97efc..309405f81 100644 --- a/libreplan-webapp/src/main/resources/libreplan-webapp-spring-security-config.xml +++ b/libreplan-webapp/src/main/resources/libreplan-webapp-spring-security-config.xml @@ -52,6 +52,7 @@ access="ROLE_ADMINISTRATION" /> +