diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/common/daos/ConfigurationDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/common/daos/ConfigurationDAO.java index 503919f66..ee8a4e8bf 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/common/daos/ConfigurationDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/common/daos/ConfigurationDAO.java @@ -67,4 +67,12 @@ public class ConfigurationDAO extends GenericDAOHibernate query.setParameter("change", change); query.executeUpdate(); } + + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW) + public void disabledAutocompleteLogin() { + String sql = "UPDATE Configuration e SET e.enabled_autocomplete_login = false"; + Query query = getSession().createQuery(sql); + query.executeUpdate(); + } } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/common/daos/IConfigurationDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/common/daos/IConfigurationDAO.java index 13afa228f..4130d5227 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/common/daos/IConfigurationDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/common/daos/IConfigurationDAO.java @@ -46,4 +46,10 @@ public interface IConfigurationDAO extends IGenericDAO { */ void saveChangedDefaultPassword(String user, boolean change); + /** + * It disables the value in the field enabled_autocomplete_login of the + * Configuration + */ + void disabledAutocompleteLogin(); + } \ No newline at end of file diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ConfigurationController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ConfigurationController.java index 507935423..10102a829 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ConfigurationController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ConfigurationController.java @@ -47,6 +47,7 @@ import org.zkoss.zk.ui.event.SelectEvent; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.ArrayGroupsModel; import org.zkoss.zul.Button; +import org.zkoss.zul.Checkbox; import org.zkoss.zul.Combobox; import org.zkoss.zul.Constraint; import org.zkoss.zul.Grid; @@ -62,7 +63,6 @@ import org.zkoss.zul.Row; import org.zkoss.zul.RowRenderer; import org.zkoss.zul.Rows; import org.zkoss.zul.Textbox; -import org.zkoss.zul.api.Checkbox; import org.zkoss.zul.api.Window; @@ -757,4 +757,8 @@ public class ConfigurationController extends GenericForwardComposer { public boolean moreScenariosThanMasterCreated() { return configurationModel.moreScenariosThanMasterCreated(); } + + public boolean isChangedDefaultPasswdAdmin() { + return configurationModel.isChangedDefaultPasswdAdmin(); + } } \ No newline at end of file diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ConfigurationModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ConfigurationModel.java index b40648dae..d0369b587 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ConfigurationModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ConfigurationModel.java @@ -271,7 +271,8 @@ public class ConfigurationModel implements IConfigurationModel { if (configuration == null) { return null; } - return configuration.isAutocompleteLogin(); + return (configuration.isAutocompleteLogin() && (!configuration + .getChangedDefaultAdminPassword())); } @Override @@ -281,6 +282,12 @@ public class ConfigurationModel implements IConfigurationModel { } } + @Override + public Boolean isChangedDefaultPasswdAdmin() { + return configuration != null ? configuration + .getChangedDefaultAdminPassword() : false; + } + @Override public Boolean getGenerateCodeForWorkReportType() { if (configuration == null) { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/IConfigurationModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/IConfigurationModel.java index 669668ba1..34b06a725 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/IConfigurationModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/IConfigurationModel.java @@ -146,5 +146,7 @@ public interface IConfigurationModel { Boolean isAutocompleteLogin(); + Boolean isChangedDefaultPasswdAdmin(); + void setAutocompleteLogin(Boolean autocompleteLogin); } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/LoginController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/LoginController.java index 2e23823c7..f4392e087 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/LoginController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/LoginController.java @@ -22,6 +22,7 @@ package org.navalplanner.web.common; import org.navalplanner.business.common.daos.IConfigurationDAO; +import org.navalplanner.business.common.entities.Configuration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; @@ -52,8 +53,11 @@ public class LoginController extends GenericForwardComposer { * It returns the login value in function of the property autocompleteLogin. */ public String getLoginValue() { - return configurationDAO.getConfigurationWithReadOnlyTransaction() - .isAutocompleteLogin() ? this.autocompletLoginValue : null; + Configuration configuration = configurationDAO + .getConfigurationWithReadOnlyTransaction(); + return ((configuration.isAutocompleteLogin()) && (!configuration + .getChangedDefaultAdminPassword())) ? this.autocompletLoginValue + : null; } } diff --git a/navalplanner-webapp/src/main/webapp/common/configuration.zul b/navalplanner-webapp/src/main/webapp/common/configuration.zul index 85d5035eb..2e033f183 100644 --- a/navalplanner-webapp/src/main/webapp/common/configuration.zul +++ b/navalplanner-webapp/src/main/webapp/common/configuration.zul @@ -183,6 +183,8 @@ checked="@{configurationController.monteCarloMethodTabVisible}" />