From a75fea2a6f886a072ee58293040e10891c22bf48 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Fri, 4 Sep 2009 12:40:39 +0200 Subject: [PATCH] ItEr24S10CUAsignacionCalendarioLaboralRecursoItEr23S13: Moving methods related with parent combo to the new controller. --- .../calendars/BaseCalendarCRUDController.java | 68 ++----------------- .../BaseCalendarEditionController.java | 46 +++++++++++++ 2 files changed, 50 insertions(+), 64 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarCRUDController.java index f2cba46e2..c55c9728a 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarCRUDController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarCRUDController.java @@ -3,7 +3,6 @@ package org.navalplanner.web.calendars; import static org.navalplanner.web.I18nHelper._; import java.util.Date; -import java.util.List; import org.navalplanner.business.calendars.entities.BaseCalendar; import org.navalplanner.business.common.exceptions.ValidationException; @@ -19,8 +18,6 @@ import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.Button; -import org.zkoss.zul.Combobox; -import org.zkoss.zul.Comboitem; import org.zkoss.zul.Label; import org.zkoss.zul.SimpleTreeNode; import org.zkoss.zul.Treecell; @@ -85,11 +82,8 @@ public class BaseCalendarCRUDController extends GenericForwardComposer { } public void goToEditForm(BaseCalendar baseCalendar) { - assignEditionController(); baseCalendarModel.initEdit(baseCalendar); - if (baseCalendarModel.isDerived()) { - prepareParentCombo(); - } + assignEditionController(); setSelectedDay(new Date()); highlightDaysOnCalendar(); getVisibility().showOnly(editWindow); @@ -167,8 +161,8 @@ public class BaseCalendarCRUDController extends GenericForwardComposer { } public void goToCreateForm() { - assignCreateController(); baseCalendarModel.initCreate(); + assignCreateController(); setSelectedDay(new Date()); highlightDaysOnCalendar(); getVisibility().showOnly(createWindow); @@ -244,75 +238,21 @@ public class BaseCalendarCRUDController extends GenericForwardComposer { } public void goToCreateDerivedForm(BaseCalendar baseCalendar) { - assignCreateController(); baseCalendarModel.initCreateDerived(baseCalendar); - if (baseCalendarModel.isDerived()) { - prepareParentCombo(); - } + assignCreateController(); setSelectedDay(new Date()); highlightDaysOnCalendar(); getVisibility().showOnly(createWindow); Util.reloadBindings(createWindow); } - private void prepareParentCombo() { - Combobox parentCalendars; - if (baseCalendarModel.isEditing()) { - parentCalendars = (Combobox) editWindow - .getFellow("parentCalendars"); - } else { - parentCalendars = (Combobox) createWindow - .getFellow("parentCalendars"); - } - - fillParentComboAndMarkSelectedItem(parentCalendars); - addListenerParentCombo(parentCalendars); - } - - private void fillParentComboAndMarkSelectedItem(Combobox parentCalendars) { - parentCalendars.getChildren().clear(); - BaseCalendar parent = baseCalendarModel.getParent(); - - List possibleParentCalendars = getParentCalendars(); - for (BaseCalendar baseCalendar : possibleParentCalendars) { - Comboitem item = new Comboitem(baseCalendar.getName()); - item.setValue(baseCalendar); - parentCalendars.appendChild(item); - if (baseCalendar.getId().equals(parent.getId())) { - parentCalendars.setSelectedItem(item); - } - } - } - - private void addListenerParentCombo(final Combobox parentCalendars) { - parentCalendars.addEventListener(Events.ON_SELECT, new EventListener() { - - @Override - public void onEvent(Event event) throws Exception { - BaseCalendar selected = (BaseCalendar) parentCalendars - .getSelectedItem() - .getValue(); - baseCalendarModel.setParent(selected); - reloadCurrentWindow(); - } - - }); - } - - public List getParentCalendars() { - return baseCalendarModel.getPossibleParentCalendars(); - } - public boolean isEditing() { return baseCalendarModel.isEditing(); } public void goToCreateCopyForm(BaseCalendar baseCalendar) { - assignCreateController(); baseCalendarModel.initCreateCopy(baseCalendar); - if (baseCalendarModel.isDerived()) { - prepareParentCombo(); - } + assignCreateController(); setSelectedDay(new Date()); highlightDaysOnCalendar(); getVisibility().showOnly(createWindow); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarEditionController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarEditionController.java index 25ac7ed75..e08620aeb 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarEditionController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarEditionController.java @@ -30,6 +30,8 @@ import org.zkoss.zk.ui.util.Clients; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.Button; import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Comboitem; import org.zkoss.zul.Intbox; import org.zkoss.zul.Label; import org.zkoss.zul.Listcell; @@ -78,6 +80,46 @@ public abstract class BaseCalendarEditionController extends public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); messagesForUser = new MessagesForUser(messagesContainer); + if (baseCalendarModel.isDerived()) { + prepareParentCombo(); + } + } + + private void prepareParentCombo() { + Combobox parentCalendars = (Combobox) window + .getFellow("parentCalendars"); + + fillParentComboAndMarkSelectedItem(parentCalendars); + addListenerParentCombo(parentCalendars); + } + + private void fillParentComboAndMarkSelectedItem(Combobox parentCalendars) { + parentCalendars.getChildren().clear(); + BaseCalendar parent = baseCalendarModel.getParent(); + + List possibleParentCalendars = getParentCalendars(); + for (BaseCalendar baseCalendar : possibleParentCalendars) { + Comboitem item = new Comboitem(baseCalendar.getName()); + item.setValue(baseCalendar); + parentCalendars.appendChild(item); + if (baseCalendar.getId().equals(parent.getId())) { + parentCalendars.setSelectedItem(item); + } + } + } + + private void addListenerParentCombo(final Combobox parentCalendars) { + parentCalendars.addEventListener(Events.ON_SELECT, new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + BaseCalendar selected = (BaseCalendar) parentCalendars + .getSelectedItem().getValue(); + baseCalendarModel.setParent(selected); + reloadCurrentWindow(); + } + + }); } public boolean isEditing() { @@ -561,4 +603,8 @@ public abstract class BaseCalendarEditionController extends // Just for ZK binding not needed } + public List getParentCalendars() { + return baseCalendarModel.getPossibleParentCalendars(); + } + }