diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/IResourceLoadModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/IResourceLoadModel.java index 2e14094e4..9540f2740 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/IResourceLoadModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/IResourceLoadModel.java @@ -29,6 +29,7 @@ import org.navalplanner.business.planner.entities.DayAssignment; import org.navalplanner.business.planner.entities.TaskElement; import org.navalplanner.business.resources.entities.Criterion; import org.navalplanner.business.resources.entities.Resource; +import org.navalplanner.web.planner.order.PlanningStateCreator.PlanningState; import org.zkoss.ganttz.data.resourceload.LoadTimeLine; import org.zkoss.ganttz.timetracker.zoom.ZoomLevel; import org.zkoss.ganttz.util.Interval; @@ -37,7 +38,7 @@ public interface IResourceLoadModel { void initGlobalView(boolean filterByResources); - void initGlobalView(Order filterBy, boolean filterByResources); + void initGlobalView(PlanningState filterBy, boolean filterByResources); List getLoadTimeLines(); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadController.java index ab0e31ea1..cfeb19b3d 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadController.java @@ -31,10 +31,10 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; -import java.util.Map.Entry; import org.apache.commons.lang.Validate; import org.joda.time.LocalDate; @@ -56,6 +56,8 @@ import org.navalplanner.web.planner.chart.ChartFiller; import org.navalplanner.web.planner.company.CompanyPlanningModel; import org.navalplanner.web.planner.order.BankHolidaysMarker; import org.navalplanner.web.planner.order.IOrderPlanningGate; +import org.navalplanner.web.planner.order.PlanningStateCreator; +import org.navalplanner.web.planner.order.PlanningStateCreator.PlanningState; import org.navalplanner.web.security.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; @@ -114,10 +116,13 @@ public class ResourceLoadController implements Composer { private List commands = new ArrayList(); - private Order filterBy; + private PlanningState filterBy; private org.zkoss.zk.ui.Component parent; + @Autowired + private PlanningStateCreator planningStateCreator; + private ResourcesLoadPanel resourcesLoadPanel; private TimeTracker timeTracker; @@ -490,7 +495,8 @@ public class ResourceLoadController implements Composer { } public void filterBy(Order order) { - this.filterBy = order; + this.filterBy = order == null ? null : planningStateCreator + .retrieveOrCreate(parent.getDesktop(), order); } public void setPlanningControllerEntryPoints( diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java index 80afc816e..2624bfa41 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java @@ -68,6 +68,7 @@ import org.navalplanner.business.users.entities.OrderAuthorizationType; import org.navalplanner.business.users.entities.User; import org.navalplanner.business.users.entities.UserRole; import org.navalplanner.web.calendars.BaseCalendarModel; +import org.navalplanner.web.planner.order.PlanningStateCreator.PlanningState; import org.navalplanner.web.security.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; @@ -162,9 +163,8 @@ public class ResourceLoadModel implements IResourceLoadModel { @Override @Transactional(readOnly = true) - public void initGlobalView(Order filterBy, boolean filterByResources) { - this.filterBy = orderDAO.findExistingEntity(filterBy.getId()); - this.filterBy.useSchedulingDataFor(scenarioManager.getCurrent()); + public void initGlobalView(PlanningState filterBy, boolean filterByResources) { + this.filterBy = filterBy.getOrder(); this.filterByResources = filterByResources; doGlobalView(); }