Applying days from start to deadline when selecting template

FEA: ItEr75S04BugFixing
This commit is contained in:
Lorenzo Tilve Álvaro 2011-11-08 14:57:12 +01:00
parent 3bd402d5ba
commit 760bb08a55
3 changed files with 24 additions and 11 deletions

View file

@ -404,7 +404,9 @@ public class OrderModel extends IntegrationEntityModel implements IOrderModel {
newOrder.setCodeAutogenerated(); newOrder.setCodeAutogenerated();
newOrder.setCode(getOrder().getCode()); newOrder.setCode(getOrder().getCode());
} }
if (getOrder().getDeadline() != null) {
newOrder.setDeadline(getOrder().getDeadline());
}
newOrder.setCustomer(((Order) getOrder()).getCustomer()); newOrder.setCustomer(((Order) getOrder()).getCustomer());
newOrder.setCalendar(getCalendar()); newOrder.setCalendar(getCalendar());

View file

@ -29,6 +29,7 @@ import java.util.List;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.joda.time.LocalDate;
import org.libreplan.business.calendars.entities.BaseCalendar; import org.libreplan.business.calendars.entities.BaseCalendar;
import org.libreplan.business.externalcompanies.entities.ExternalCompany; import org.libreplan.business.externalcompanies.entities.ExternalCompany;
import org.libreplan.business.orders.daos.IOrderDAO; import org.libreplan.business.orders.daos.IOrderDAO;
@ -143,11 +144,9 @@ public class ProjectDetailsController extends GenericForwardComposer {
if (tabs != null) { if (tabs != null) {
tabs.goToOrdersList(); tabs.goToOrdersList();
} }
if (bdProjectTemplate.getSelectedElement() != null) { if (bdProjectTemplate.getSelectedElement() != null) {
OrderTemplate template = (OrderTemplate) bdProjectTemplate OrderTemplate template = (OrderTemplate) bdProjectTemplate
.getSelectedElement(); .getSelectedElement();
orderController.createFromTemplate(template); orderController.createFromTemplate(template);
} }
orderController.editNewCreatedOrder(window); orderController.editNewCreatedOrder(window);
@ -280,12 +279,23 @@ public class ProjectDetailsController extends GenericForwardComposer {
bdExternalCompanies.close(); bdExternalCompanies.close();
} }
}); });
txtName.addEventListener(Events.ON_OK, new EventListener() { bdProjectTemplate.setListboxEventListener(Events.ON_SELECT,
@Override new EventListener() {
public void onEvent(Event event) { @Override
accept(); 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());
}
} }

View file

@ -34,7 +34,8 @@
<row> <row>
<label value="${i18n:_('Name')}" /> <label value="${i18n:_('Name')}" />
<textbox id="txtName" value="@{projectController.order.name}" width="500px" <textbox id="txtName" value="@{projectController.order.name}" width="500px"
constraint="no empty:${i18n:_('cannot be null or empty')}"/> constraint="no empty:${i18n:_('cannot be null or empty')}"
onOK="projectController.accept();"/>
</row> </row>
<row> <row>
<label value="${i18n:_('Code')}" /> <label value="${i18n:_('Code')}" />
@ -49,7 +50,7 @@
<row> <row>
<label value="${i18n:_('Template')}" /> <label value="${i18n:_('Template')}" />
<bandboxSearch id="bdProjectTemplate" finder="templatesEligibleForOrder" <bandboxSearch id="bdProjectTemplate" finder="templatesEligibleForOrder"
widthBandbox="300px" widthListbox="500px" /> widthBandbox="400px" widthListbox="500px" />
</row> </row>
<row> <row>
<label value="${i18n:_('Starting date')}" /> <label value="${i18n:_('Starting date')}" />