Bug #1369: Fix problems in previous patch due to bandbox listener
FEA: ItEr76S04BugFixing
This commit is contained in:
parent
ecbd5bbd46
commit
fc9800ae9e
2 changed files with 26 additions and 49 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -40,7 +40,8 @@
|
|||
</row>
|
||||
<row>
|
||||
<label value="${i18n:_('Template')}" />
|
||||
<bandboxSearch id="bdProjectTemplate" finder="templatesEligibleForOrder"
|
||||
<bandboxSearch id="bdProjectTemplate" finder="TemplatesEligibleForOrder"
|
||||
selectedElement="@{projectController.template, access='both'}"
|
||||
widthBandbox="400px" widthListbox="500px" />
|
||||
</row>
|
||||
<row>
|
||||
|
|
@ -69,7 +70,7 @@
|
|||
<bandboxSearch id="bdExternalCompanies" widthBandbox="485px" widthListbox="500px"
|
||||
finder="ExternalCompanyBandboxFinder"
|
||||
model="@{projectController.externalCompaniesAreClient}"
|
||||
selectedElement="@{projectController.order.customer}"/>
|
||||
selectedElement="@{projectController.order.customer, access='both'}"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${i18n:_('Calendar')}" />
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue