[Bug #999] Fix bug set as dontPoseAsTransientAnymore after clicking SaveAndContinue

FEA: ItEr74S04BugFixing
This commit is contained in:
Diego Pino Garcia 2011-04-19 12:47:16 +02:00
parent a494cb23ab
commit 00ef88227a
3 changed files with 29 additions and 6 deletions

View file

@ -136,7 +136,7 @@ public class BaseCalendarCRUDController extends GenericForwardComposer {
try {
validateCalendarExceptionCodes();
baseCalendarModel.generateCalendarCodes();
baseCalendarModel.confirmSave();
baseCalendarModel.confirmSaveAndContinue();
messagesForUser.showMessage(Level.INFO, _(
"Base calendar \"{0}\" saved", baseCalendarModel
.getBaseCalendar().getName()));

View file

@ -34,14 +34,14 @@ import org.joda.time.LocalDate;
import org.navalplanner.business.calendars.daos.IBaseCalendarDAO;
import org.navalplanner.business.calendars.daos.ICalendarExceptionTypeDAO;
import org.navalplanner.business.calendars.entities.BaseCalendar;
import org.navalplanner.business.calendars.entities.BaseCalendar.DayType;
import org.navalplanner.business.calendars.entities.CalendarAvailability;
import org.navalplanner.business.calendars.entities.CalendarData;
import org.navalplanner.business.calendars.entities.CalendarData.Days;
import org.navalplanner.business.calendars.entities.CalendarException;
import org.navalplanner.business.calendars.entities.CalendarExceptionType;
import org.navalplanner.business.calendars.entities.Capacity;
import org.navalplanner.business.calendars.entities.ResourceCalendar;
import org.navalplanner.business.calendars.entities.BaseCalendar.DayType;
import org.navalplanner.business.calendars.entities.CalendarData.Days;
import org.navalplanner.business.common.IntegrationEntity;
import org.navalplanner.business.common.daos.IConfigurationDAO;
import org.navalplanner.business.common.entities.Configuration;
@ -489,8 +489,28 @@ public class BaseCalendarModel extends IntegrationEntityModel implements
@Override
@Transactional(rollbackFor = ValidationException.class)
public void confirmSave() throws ValidationException {
checkInvalidValuesCalendar(getBaseCalendar());
baseCalendarDAO.save(getBaseCalendar());
confirmSave(getBaseCalendar());
}
@Transactional(rollbackFor = ValidationException.class)
private void confirmSave(BaseCalendar calendar) throws ValidationException {
checkInvalidValuesCalendar(calendar);
baseCalendarDAO.save(calendar);
}
@Override
@Transactional(rollbackFor = ValidationException.class)
public void confirmSaveAndContinue() throws ValidationException {
BaseCalendar baseCalendar = getBaseCalendar();
confirmSave(baseCalendar);
dontPoseAsTransientObjectAnymore(baseCalendar);
}
private void dontPoseAsTransientObjectAnymore(BaseCalendar baseCalendar) {
baseCalendar.dontPoseAsTransientObjectAnymore();
for (CalendarData each: baseCalendar.getCalendarDataVersions()) {
each.dontPoseAsTransientObjectAnymore();
}
}
@Override

View file

@ -194,6 +194,8 @@ public interface IBaseCalendarModel extends IIntegrationEntityModel {
void confirmSave() throws ValidationException;
void confirmSaveAndContinue() throws ValidationException;
void confirmRemove(BaseCalendar calendar);
void cancel();
@ -207,4 +209,5 @@ public interface IBaseCalendarModel extends IIntegrationEntityModel {
boolean isLastActivationPeriod(CalendarAvailability calendarAvailability);
boolean isOwnException(CalendarException exception);
}
}