From 69f63ce1343693d84d254f875b218e1641b07fb2 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Wed, 3 Oct 2012 14:49:07 +0200 Subject: [PATCH] Bug #1539: Do not reassociate with session resource bound to current user FEA: ItEr77S04BugFixing --- .../web/planner/order/PlanningStateCreator.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/PlanningStateCreator.java b/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/PlanningStateCreator.java index e32dc7ae1..7b2f03d47 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/PlanningStateCreator.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/PlanningStateCreator.java @@ -82,7 +82,9 @@ import org.libreplan.business.scenarios.entities.Scenario; import org.libreplan.business.users.daos.IOrderAuthorizationDAO; import org.libreplan.business.users.entities.OrderAuthorization; import org.libreplan.business.users.entities.ProfileOrderAuthorization; +import org.libreplan.business.users.entities.User; import org.libreplan.business.users.entities.UserOrderAuthorization; +import org.libreplan.web.UserUtil; import org.libreplan.web.calendars.BaseCalendarModel; import org.libreplan.web.planner.TaskElementAdapter; import org.springframework.beans.factory.annotation.Autowired; @@ -867,7 +869,16 @@ public class PlanningStateCreator { } public void reassociateResourcesWithSession() { + User user = UserUtil.getUserFromSession(); + boolean isBoundUser = (user != null) && user.isBound(); + for (Resource resource : resources) { + if (isBoundUser + && user.getWorker().getId().equals(resource.getId())) { + // Resource bound to current user is already associated with + // session + continue; + } resourceDAO.reattach(resource); } // ensuring no repeated instances of criterions