[Bug #988] Remove former resource calendar when a new calendar is selected for a machine
FEA: ItEr74S04BugFixing
This commit is contained in:
parent
725aee5da1
commit
0a0a80b9a1
3 changed files with 25 additions and 1 deletions
|
|
@ -105,4 +105,7 @@ public interface IMachineModel extends IIntegrationEntityModel {
|
|||
boolean canRemove(Machine machine);
|
||||
|
||||
void confirmRemove(Machine machine) throws InstanceNotFoundException;
|
||||
|
||||
void removeCalendar();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -397,8 +397,8 @@ public class MachineCRUDController extends GenericForwardComposer {
|
|||
|
||||
@Override
|
||||
public void cancel() {
|
||||
machineModel.removeCalendar();
|
||||
resourceCalendarModel.cancel();
|
||||
machineModel.setCalendarOfMachine(null);
|
||||
reloadWindow();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ public class MachineModel extends IntegrationEntityModel implements
|
|||
*
|
||||
*/
|
||||
private Machine machine;
|
||||
private ResourceCalendar calendarToRemove = null;
|
||||
private Map<Long, Criterion> criterions = new HashMap<Long, Criterion>();
|
||||
private Map<Long, Worker> workers = new HashMap<Long, Worker>();
|
||||
private List<Machine> machineList = new ArrayList<Machine>();
|
||||
|
|
@ -259,9 +260,22 @@ public class MachineModel extends IntegrationEntityModel implements
|
|||
@Override
|
||||
@Transactional
|
||||
public void confirmSave() throws ValidationException {
|
||||
removeCalendarIfNeeded();
|
||||
resourceDAO.save(machine);
|
||||
}
|
||||
|
||||
private void removeCalendarIfNeeded() {
|
||||
if (calendarToRemove != null) {
|
||||
try {
|
||||
resourceDAO.reattach(machine);
|
||||
baseCalendarDAO.remove(calendarToRemove.getId());
|
||||
calendarToRemove = null;
|
||||
} catch (InstanceNotFoundException e) {
|
||||
LOG.error("Couldn't remove calendar");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public List<BaseCalendar> getBaseCalendars() {
|
||||
|
|
@ -377,4 +391,11 @@ public class MachineModel extends IntegrationEntityModel implements
|
|||
public IntegrationEntity getCurrentEntity() {
|
||||
return this.machine;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeCalendar() {
|
||||
calendarToRemove = machine.getCalendar();
|
||||
machine.setCalendar(null);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue