[Bug #912] You cannot delete an derived exception.
Disable delete icon in the exception which are inherited. Include a column showing the type of exception (Inherited or Direct). FEA : ItEr72S04BugFixing
This commit is contained in:
parent
488b3958a8
commit
a43c0e8541
4 changed files with 27 additions and 2 deletions
|
|
@ -934,6 +934,7 @@ public abstract class BaseCalendarEditionController extends
|
|||
appendStandardEffortListcell(item, calendarException.getCapacity());
|
||||
appendExtraEffortListcell(item, calendarException.getCapacity());
|
||||
appendCodeListcell(item, calendarException);
|
||||
appendOriginListcell(item, calendarException);
|
||||
appendOperationsListcell(item, calendarException);
|
||||
|
||||
markAsSelected(item, calendarException);
|
||||
|
|
@ -1017,6 +1018,17 @@ public abstract class BaseCalendarEditionController extends
|
|||
item.appendChild(listcell);
|
||||
}
|
||||
|
||||
private void appendOriginListcell(Listitem item,
|
||||
CalendarException calendarException) {
|
||||
Listcell listcell = new Listcell();
|
||||
String origin = _("Inherited");
|
||||
if (baseCalendarModel.isOwnException(calendarException)) {
|
||||
origin = _("Direct");
|
||||
}
|
||||
listcell.appendChild(new Label(origin));
|
||||
item.appendChild(listcell);
|
||||
}
|
||||
|
||||
private void appendOperationsListcell(Listitem item, CalendarException calendarException) {
|
||||
Listcell listcell = new Listcell();
|
||||
listcell.appendChild(createRemoveButton(calendarException));
|
||||
|
|
@ -1036,6 +1048,11 @@ public abstract class BaseCalendarEditionController extends
|
|||
reloadDayInformation();
|
||||
}
|
||||
});
|
||||
if (!baseCalendarModel.isOwnException(calendarException)) {
|
||||
result.setDisabled(true);
|
||||
result
|
||||
.setTooltiptext(_("derived exception can not be removed"));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -564,6 +564,11 @@ public class BaseCalendarModel extends IntegrationEntityModel implements
|
|||
return getBaseCalendar().getExceptions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOwnException(CalendarException exception) {
|
||||
return getBaseCalendar().getOwnExceptions().contains(exception);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeException(LocalDate date) {
|
||||
if (getBaseCalendar() != null) {
|
||||
|
|
|
|||
|
|
@ -205,4 +205,6 @@ public interface IBaseCalendarModel extends IIntegrationEntityModel {
|
|||
void generateCalendarCodes();
|
||||
|
||||
boolean isLastActivationPeriod(CalendarAvailability calendarAvailability);
|
||||
|
||||
boolean isOwnException(CalendarException exception);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -149,6 +149,7 @@
|
|||
<listheader label="${i18n:_('Standard Effort')}" />
|
||||
<listheader label="${i18n:_('Extra Effort')}" />
|
||||
<listheader label="${i18n:_('Code')}" visible="@{calendarController.editionController.notResourceCalendar}"/>
|
||||
<listheader label="${i18n:_('Origin')}" />
|
||||
<listheader label="${i18n:_('Operations')}" />
|
||||
</listhead>
|
||||
</listbox>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue