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 4415be48e..8ea603ca5 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 @@ -35,6 +35,7 @@ import org.navalplanner.web.common.OnlyOneVisible; 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.Window; /** @@ -125,6 +126,15 @@ public class ExternalCompanyCRUDController extends GenericForwardComposer return externalCompanyModel.getCompany(); } + public void setCompanyUser(Comboitem selectedItem) { + if (selectedItem != null) { + externalCompanyModel.setCompanyUser((User) selectedItem.getValue()); + } + else { + externalCompanyModel.setCompanyUser(null); + } + } + private OnlyOneVisible getVisibility() { return (visibility == null) ? new OnlyOneVisible(createWindow, listWindow) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/externalcompanies/ExternalCompanyModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/externalcompanies/ExternalCompanyModel.java index 74f559436..64c03dc33 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/externalcompanies/ExternalCompanyModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/externalcompanies/ExternalCompanyModel.java @@ -26,6 +26,7 @@ import org.apache.commons.lang.Validate; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.externalcompanies.daos.IExternalCompanyDAO; import org.navalplanner.business.externalcompanies.entities.ExternalCompany; +import org.navalplanner.business.users.entities.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; @@ -47,8 +48,13 @@ public class ExternalCompanyModel implements IExternalCompanyModel { private ExternalCompany externalCompany; @Override + @Transactional(readOnly = true) public List getCompanies() { - return externalCompanyDAO.list(ExternalCompany.class); + List list = externalCompanyDAO.list(ExternalCompany.class); + for(ExternalCompany company : list) { + forceLoadEntities(company); + } + return list; } @Override @@ -102,4 +108,9 @@ public class ExternalCompanyModel implements IExternalCompanyModel { } } + @Override + public void setCompanyUser(User companyUser) { + externalCompany.setCompanyUser(companyUser); + } + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/externalcompanies/IExternalCompanyModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/externalcompanies/IExternalCompanyModel.java index 2493cd418..3637c04c3 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/externalcompanies/IExternalCompanyModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/externalcompanies/IExternalCompanyModel.java @@ -24,6 +24,7 @@ import java.util.List; import org.navalplanner.business.common.exceptions.ValidationException; import org.navalplanner.business.externalcompanies.entities.ExternalCompany; +import org.navalplanner.business.users.entities.User; /** * Model for UI operations related to {@link ExternalCompany} @@ -67,4 +68,12 @@ public interface IExternalCompanyModel { * If validation fails */ void confirmSave(); + + /** + * Changes the value of the attribute companyUser in the inner + * {@link ExternalCompany} object. + * + * @param companyUser + */ + void setCompanyUser(User companyUser); } diff --git a/navalplanner-webapp/src/main/webapp/externalcompanies/_editExternalCompany.zul b/navalplanner-webapp/src/main/webapp/externalcompanies/_editExternalCompany.zul index 5deaeaafa..a7bbed467 100644 --- a/navalplanner-webapp/src/main/webapp/externalcompanies/_editExternalCompany.zul +++ b/navalplanner-webapp/src/main/webapp/externalcompanies/_editExternalCompany.zul @@ -59,6 +59,10 @@