ItEr23S08CUEdicionCalendarioLaboral: Allowing move between different versions using the history tab.

This commit is contained in:
Manuel Rego Casasnovas 2009-08-27 20:07:35 +02:00 committed by Óscar González Fernández
parent 4e4c797327
commit f8d66ff67c
3 changed files with 25 additions and 6 deletions

View file

@ -36,6 +36,7 @@ import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
import org.zkoss.zul.SimpleTreeNode;
import org.zkoss.zul.Tab;
import org.zkoss.zul.Treecell;
import org.zkoss.zul.Treeitem;
import org.zkoss.zul.TreeitemRenderer;
@ -638,8 +639,20 @@ public class BaseCalendarCRUDController extends GenericForwardComposer {
return getDaysCurrentMonthByType().get(DayType.ZERO_HOURS);
}
public void goToCalendar(BaseCalendar calendar) {
// TODO
public void goToCalendarVersion(BaseCalendar calendar) {
if (calendar.getPreviousCalendar() != null) {
setSelectedDay(calendar.getPreviousCalendar().getExpiringDate()
.toDateTimeAtStartOfDay().toDate());
} else if (calendar.getExpiringDate() != null) {
setSelectedDay(calendar.getExpiringDate().minusDays(1)
.toDateTimeAtStartOfDay()
.toDate());
} else {
setSelectedDay(new Date());
}
((Tab) editWindow.getFellow("dataTab")).setSelected(true);
Util.reloadBindings(editWindow);
}
public boolean isDateValidFromPast() {

View file

@ -391,7 +391,12 @@ public class BaseCalendarModel implements IBaseCalendarModel {
List<BaseCalendar> history = new ArrayList<BaseCalendar>();
BaseCalendar current = getBaseCalendar().getPreviousCalendar();
BaseCalendar lastVersion = getBaseCalendar();
while (lastVersion.getNextCalendar() != null) {
lastVersion = lastVersion.getNextCalendar();
}
BaseCalendar current = lastVersion;
while (current != null) {
history.add(current);
current = current.getPreviousCalendar();

View file

@ -3,9 +3,9 @@
<tabbox>
<tabs>
<tab label="${i18n:_('Data')}" />
<tab label="${i18n:_('Data')}" id="dataTab" />
<tab label="${i18n:_('History')}"
visible="@{controller.isEditing}" />
visible="@{controller.isEditing}" id="historyTab" />
</tabs>
<tabpanels>
@ -104,6 +104,7 @@
<listbox model="@{controller.historyVersions}">
<listhead>
<listheader label="${i18n:_('Name')}" />
<!-- listheader label="${i18n:_('Valid from')}" / -->
<listheader label="${i18n:_('Expiring Date')}" />
<listheader label="${i18n:_('Operations')}" />
</listhead>
@ -112,7 +113,7 @@
<listcell label="@{calendar.expiringDate}" />
<listcell>
<button label="${i18n:_('Go to this calendar')}"
onClick="controller.goToCalendar(self.parent.parent.value);">
onClick="controller.goToCalendarVersion(self.parent.parent.value);">
</button>
</listcell>
</listitem>