From fc9800ae9e536716d9fe0b033e6c3ab8c971b837 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Wed, 27 Jun 2012 11:39:54 +0200 Subject: [PATCH] Bug #1369: Fix problems in previous patch due to bandbox listener FEA: ItEr76S04BugFixing --- .../web/orders/ProjectDetailsController.java | 70 ++++++------------- .../main/webapp/orders/_projectDetails.zul | 5 +- 2 files changed, 26 insertions(+), 49 deletions(-) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/orders/ProjectDetailsController.java b/libreplan-webapp/src/main/java/org/libreplan/web/orders/ProjectDetailsController.java index 4e53a2667..002904471 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/orders/ProjectDetailsController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/orders/ProjectDetailsController.java @@ -45,9 +45,6 @@ import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.SuspendNotAllowedException; import org.zkoss.zk.ui.WrongValueException; -import org.zkoss.zk.ui.event.Event; -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.Checkbox; import org.zkoss.zul.ComboitemRenderer; @@ -84,8 +81,6 @@ public class ProjectDetailsController extends GenericForwardComposer { private Datebox initDate; - private BandboxSearch bdExternalCompanies; - private BandboxSearch bdProjectTemplate; private Textbox txtName; @@ -97,6 +92,8 @@ public class ProjectDetailsController extends GenericForwardComposer { @Autowired private IOrderDAO orderDAO; + private OrderTemplate template; + public ProjectDetailsController() { Window window = (Window) Executions.createComponents( "/orders/_projectDetails.zul", null, @@ -122,7 +119,6 @@ public class ProjectDetailsController extends GenericForwardComposer { this.defaultCalendar = orderController.getOrder().getCalendar(); this.isCodeAutogeneratedInit = orderController.getOrder() .isCodeAutogenerated(); - loadComponents(); try { Util.reloadBindings(window); Util.createBindingsFor(gridProjectDetails); @@ -260,47 +256,7 @@ public class ProjectDetailsController extends GenericForwardComposer { }; } - private void loadComponents() { - bdExternalCompanies.setListboxEventListener(Events.ON_SELECT, - new EventListener() { - @Override - public void onEvent(Event event) { - final Object object = bdExternalCompanies - .getSelectedElement(); - getOrder().setCustomer((ExternalCompany) object); - } - }); - bdExternalCompanies.setListboxEventListener(Events.ON_OK, - new EventListener() { - @Override - public void onEvent(Event event) { - final Object object = bdExternalCompanies - .getSelectedElement(); - getOrder().setCustomer((ExternalCompany) object); - bdExternalCompanies.close(); - } - }); - bdProjectTemplate.setBandboxEventListener(Events.ON_BLUR, - new EventListener() { - @Override - public void onEvent(Event event) { - if (bdProjectTemplate.getSelectedElement() == null) { - generateCode.setDisabled(false); - } else { - setCodeAutogenerated(true); - generateCode.setDisabled(true); - generateCode.setChecked(true); - calculateProjectDates(); - } - } - }); - } - - public void calculateProjectDates() { - OrderTemplate template = (OrderTemplate) bdProjectTemplate.getSelectedElement(); - if (template == null) { - return; - } + public void calculateProjectDates(OrderTemplate template) { initDate.setValue(new LocalDate().plusDays(template.getStartAsDaysFromBeginning()).toDateTimeAtStartOfDay().toDate()); if (template.getDeadlineAsDaysFromBeginning() != null ) { deadline.setValue( new LocalDate(initDate.getValue()).plusDays(template.getDeadlineAsDaysFromBeginning()).toDateTimeAtStartOfDay().toDate()); @@ -308,4 +264,24 @@ public class ProjectDetailsController extends GenericForwardComposer { deadline.setText(""); } } + + public OrderTemplate getTemplate() { + return template; + } + + public void setTemplate(OrderTemplate template) { + this.template = template; + if (template == null) { + generateCode.setDisabled(false); + generateCode.setTooltiptext(""); + } else { + setCodeAutogenerated(true); + generateCode.setDisabled(true); + generateCode + .setTooltiptext(_("Code has to be autogenerated to create a new project from templates")); + generateCode.setChecked(true); + calculateProjectDates(template); + } + } + } \ No newline at end of file diff --git a/libreplan-webapp/src/main/webapp/orders/_projectDetails.zul b/libreplan-webapp/src/main/webapp/orders/_projectDetails.zul index d3b22ee3b..944b986b1 100644 --- a/libreplan-webapp/src/main/webapp/orders/_projectDetails.zul +++ b/libreplan-webapp/src/main/webapp/orders/_projectDetails.zul @@ -40,7 +40,8 @@ @@ -69,7 +70,7 @@ + selectedElement="@{projectController.order.customer, access='both'}"/>