[Bug #1193] Fix bug
Make sure that all calendar data is loaded. The calendars used in the creation popup must be fully loaded. FEA: ItEr75S04BugFixing
This commit is contained in:
parent
47000bc477
commit
b72b24f174
3 changed files with 30 additions and 4 deletions
|
|
@ -75,6 +75,7 @@ import org.navalplanner.business.users.entities.OrderAuthorization;
|
|||
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.common.IntegrationEntityModel;
|
||||
import org.navalplanner.web.common.concurrentdetection.OnConcurrentModification;
|
||||
import org.navalplanner.web.orders.labels.LabelsOnConversation;
|
||||
|
|
@ -582,7 +583,11 @@ public class OrderModel extends IntegrationEntityModel implements IOrderModel {
|
|||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public List<BaseCalendar> getBaseCalendars() {
|
||||
return baseCalendarDAO.getBaseCalendars();
|
||||
List<BaseCalendar> result = baseCalendarDAO.getBaseCalendars();
|
||||
for (BaseCalendar each : result) {
|
||||
BaseCalendarModel.forceLoadBaseCalendar(each);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -217,6 +217,11 @@ public class PlanningStateCreator {
|
|||
forceLoadOfDepedenciesCollections(rootTask);
|
||||
}
|
||||
|
||||
if (orderReloaded.getCalendar() != null) {
|
||||
BaseCalendarModel
|
||||
.forceLoadBaseCalendar(orderReloaded.getCalendar());
|
||||
}
|
||||
|
||||
PlanningState result = new PlanningState(orderReloaded, allResources,
|
||||
currentScenario);
|
||||
|
||||
|
|
|
|||
|
|
@ -48,6 +48,8 @@ import org.junit.Ignore;
|
|||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.navalplanner.business.IDataBootstrap;
|
||||
import org.navalplanner.business.calendars.daos.IBaseCalendarDAO;
|
||||
import org.navalplanner.business.calendars.entities.BaseCalendar;
|
||||
import org.navalplanner.business.common.IAdHocTransactionService;
|
||||
import org.navalplanner.business.common.IOnTransaction;
|
||||
import org.navalplanner.business.common.daos.IConfigurationDAO;
|
||||
|
|
@ -73,6 +75,7 @@ import org.navalplanner.business.resources.entities.ResourceEnum;
|
|||
import org.navalplanner.business.scenarios.IScenarioManager;
|
||||
import org.navalplanner.business.scenarios.entities.OrderVersion;
|
||||
import org.navalplanner.business.scenarios.entities.Scenario;
|
||||
import org.navalplanner.web.calendars.BaseCalendarModel;
|
||||
import org.navalplanner.web.planner.order.PlanningStateCreator;
|
||||
import org.navalplanner.web.planner.order.PlanningStateCreator.PlanningState;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -154,6 +157,9 @@ public class OrderModelTest {
|
|||
@Autowired
|
||||
private IExternalCompanyDAO externalCompanyDAO;
|
||||
|
||||
@Autowired
|
||||
private IBaseCalendarDAO calendarDAO;
|
||||
|
||||
@Autowired
|
||||
private PlanningStateCreator planningStateCreator;
|
||||
|
||||
|
|
@ -182,9 +188,19 @@ public class OrderModelTest {
|
|||
order.setName("name");
|
||||
order.setResponsible("responsible");
|
||||
order.setCode("code-" + UUID.randomUUID());
|
||||
order.setCalendar(configurationDAO
|
||||
.getConfigurationWithReadOnlyTransaction()
|
||||
.getDefaultCalendar());
|
||||
BaseCalendar calendar = adHocTransaction
|
||||
.runOnReadOnlyTransaction(new IOnTransaction<BaseCalendar>() {
|
||||
|
||||
@Override
|
||||
public BaseCalendar execute() {
|
||||
BaseCalendar result = configurationDAO
|
||||
.getConfigurationWithReadOnlyTransaction()
|
||||
.getDefaultCalendar();
|
||||
BaseCalendarModel.forceLoadBaseCalendar(result);
|
||||
return result;
|
||||
}
|
||||
});
|
||||
order.setCalendar(calendar);
|
||||
return order;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue