From 760bb08a5567769f356bb64e2bf7103c7f268bf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenzo=20Tilve=20=C3=81lvaro?= Date: Tue, 8 Nov 2011 14:57:12 +0100 Subject: [PATCH] Applying days from start to deadline when selecting template FEA: ItEr75S04BugFixing --- .../org/libreplan/web/orders/OrderModel.java | 4 ++- .../web/orders/ProjectDetailsController.java | 26 +++++++++++++------ .../main/webapp/orders/_projectDetails.zul | 5 ++-- 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderModel.java index d9fddda17..07ae06d17 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderModel.java @@ -404,7 +404,9 @@ public class OrderModel extends IntegrationEntityModel implements IOrderModel { newOrder.setCodeAutogenerated(); newOrder.setCode(getOrder().getCode()); } - + if (getOrder().getDeadline() != null) { + newOrder.setDeadline(getOrder().getDeadline()); + } newOrder.setCustomer(((Order) getOrder()).getCustomer()); newOrder.setCalendar(getCalendar()); 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 40565c130..ea36180b8 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 @@ -29,6 +29,7 @@ import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.joda.time.LocalDate; import org.libreplan.business.calendars.entities.BaseCalendar; import org.libreplan.business.externalcompanies.entities.ExternalCompany; import org.libreplan.business.orders.daos.IOrderDAO; @@ -143,11 +144,9 @@ public class ProjectDetailsController extends GenericForwardComposer { if (tabs != null) { tabs.goToOrdersList(); } - if (bdProjectTemplate.getSelectedElement() != null) { OrderTemplate template = (OrderTemplate) bdProjectTemplate .getSelectedElement(); - orderController.createFromTemplate(template); } orderController.editNewCreatedOrder(window); @@ -280,12 +279,23 @@ public class ProjectDetailsController extends GenericForwardComposer { bdExternalCompanies.close(); } }); - txtName.addEventListener(Events.ON_OK, new EventListener() { - @Override - public void onEvent(Event event) { - accept(); - } - }); + bdProjectTemplate.setListboxEventListener(Events.ON_SELECT, + new EventListener() { + @Override + public void onEvent(Event event) { + calculateDeadlineDate(); + } + }); } + public void calculateDeadlineDate() { + if ((bdProjectTemplate.getSelectedElement() == null) + || (((OrderTemplate) bdProjectTemplate.getSelectedElement()) + .getDeadlineAsDaysFromBeginning() == null) + || (initDate.getValue() == null)) { + return; + } + int days = ((OrderTemplate) bdProjectTemplate.getSelectedElement()).getDeadlineAsDaysFromBeginning(); + deadline.setValue( new LocalDate(initDate.getValue()).plusDays(days).toDateTimeAtStartOfDay().toDate()); + } } \ 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 b6792890e..bd53ebffb 100644 --- a/libreplan-webapp/src/main/webapp/orders/_projectDetails.zul +++ b/libreplan-webapp/src/main/webapp/orders/_projectDetails.zul @@ -34,7 +34,8 @@