From dae18f7b69cb34bd240bd7eac32ead5a20fe07d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= Date: Mon, 4 Jan 2010 15:58:29 +0100 Subject: [PATCH] ItEr42S22CUAltaSubcontrataItEr41S25: Enable and disable fields appURI, login and password according to the value of interactsWithApplications These fields have a 'no empty' constraint when they are enabled. --- .../ExternalCompanyCRUDController.java | 39 +++++++++++++++++++ .../_editExternalCompany.zul | 1 + 2 files changed, 40 insertions(+) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/externalcompanies/ExternalCompanyCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/externalcompanies/ExternalCompanyCRUDController.java index 8ea603ca5..90d34ad9d 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/externalcompanies/ExternalCompanyCRUDController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/externalcompanies/ExternalCompanyCRUDController.java @@ -36,6 +36,7 @@ import org.navalplanner.web.common.Util; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Textbox; import org.zkoss.zul.Window; /** @@ -59,18 +60,28 @@ public class ExternalCompanyCRUDController extends GenericForwardComposer private Component messagesContainer; + private Textbox appURI; + + private Textbox ourCompanyLogin; + + private Textbox ourCompanyPassword; + @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); comp.setVariable("controller", this, true); messagesForUser = new MessagesForUser(messagesContainer); getVisibility().showOnly(listWindow); + appURI = (Textbox) createWindow.getFellow("appURI"); + ourCompanyLogin = (Textbox) createWindow.getFellow("ourCompanyLogin"); + ourCompanyPassword = (Textbox) createWindow.getFellow("ourCompanyPassword"); } @Override public void goToCreateForm() { externalCompanyModel.initCreate(); getVisibility().showOnly(createWindow); + setInteractionFieldsActivation(getCompany().getInteractsWithApplications()); Util.reloadBindings(createWindow); } @@ -78,6 +89,7 @@ public class ExternalCompanyCRUDController extends GenericForwardComposer public void goToEditForm(ExternalCompany company) { externalCompanyModel.initEdit(company); getVisibility().showOnly(createWindow); + setInteractionFieldsActivation(company.getInteractsWithApplications()); Util.reloadBindings(createWindow); } @@ -135,6 +147,33 @@ public class ExternalCompanyCRUDController extends GenericForwardComposer } } + public void setInteractionFieldsActivation(boolean active) { + if(active) { + enableInteractionFields(); + } + else { + disableInteractionFields(); + } + } + + private void enableInteractionFields() { + appURI.setDisabled(false); + ourCompanyLogin.setDisabled(false); + ourCompanyPassword.setDisabled(false); + appURI.setConstraint("no empty:" + _("cannot be null or empty")); + ourCompanyLogin.setConstraint("no empty:" + _("cannot be null or empty")); + ourCompanyPassword.setConstraint("no empty:" + _("cannot be null or empty")); + } + + private void disableInteractionFields() { + appURI.setDisabled(true); + ourCompanyLogin.setDisabled(true); + ourCompanyPassword.setDisabled(true); + appURI.setConstraint(""); + ourCompanyLogin.setConstraint(""); + ourCompanyPassword.setConstraint(""); + } + private OnlyOneVisible getVisibility() { return (visibility == null) ? new OnlyOneVisible(createWindow, listWindow) diff --git a/navalplanner-webapp/src/main/webapp/externalcompanies/_editExternalCompany.zul b/navalplanner-webapp/src/main/webapp/externalcompanies/_editExternalCompany.zul index a7bbed467..bb64ae5a8 100644 --- a/navalplanner-webapp/src/main/webapp/externalcompanies/_editExternalCompany.zul +++ b/navalplanner-webapp/src/main/webapp/externalcompanies/_editExternalCompany.zul @@ -67,6 +67,7 @@