From ecbe1351f5062854c156f9124d9bc4f113b2aa8e Mon Sep 17 00:00:00 2001 From: Ignacio Diaz Teijido Date: Fri, 17 Feb 2012 16:03:35 +0100 Subject: [PATCH] Disallow managing passwords in admin users panel for LDAP users when LDAP is being used for authentication FEA: ItEr76S12LdapAuhentication --- .../main/java/org/libreplan/web/users/IUserModel.java | 2 ++ .../org/libreplan/web/users/UserCRUDController.java | 4 ++++ .../main/java/org/libreplan/web/users/UserModel.java | 11 +++++++++++ libreplan-webapp/src/main/webapp/users/_editUser.zul | 7 +++++-- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/users/IUserModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/users/IUserModel.java index d68986d5b..bc8c49364 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/users/IUserModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/users/IUserModel.java @@ -125,4 +125,6 @@ public interface IUserModel { void confirmRemove(User user) throws InstanceNotFoundException; + boolean isLDAPBeingUsed(); + } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/users/UserCRUDController.java b/libreplan-webapp/src/main/java/org/libreplan/web/users/UserCRUDController.java index d6f5e406a..600b6365d 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/users/UserCRUDController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/users/UserCRUDController.java @@ -224,4 +224,8 @@ public class UserCRUDController extends BaseCRUDController implements return !user.isLibrePlanUser(); } + public boolean isLdapUserLdapConfiguration() { + return (isLdapUser() && userModel.isLDAPBeingUsed()); + } + } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/users/UserModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/users/UserModel.java index 521e579aa..a89cd4837 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/users/UserModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/users/UserModel.java @@ -26,6 +26,7 @@ import java.util.List; import org.apache.commons.lang.Validate; import org.libreplan.business.common.Configuration; +import org.libreplan.business.common.daos.IConfigurationDAO; import org.libreplan.business.common.exceptions.InstanceNotFoundException; import org.libreplan.business.common.exceptions.ValidationException; import org.libreplan.business.users.daos.IOrderAuthorizationDAO; @@ -55,6 +56,9 @@ public class UserModel implements IUserModel { @Autowired private IUserDAO userDAO; + @Autowired + private IConfigurationDAO configurationDAO; + @Autowired private IOrderAuthorizationDAO orderAuthorizationDAO; @@ -237,4 +241,11 @@ public class UserModel implements IUserModel { return userDAO.getOrderAuthorizationsByUser(user); } + @Transactional(readOnly = true) + @Override + public boolean isLDAPBeingUsed() { + return configurationDAO.getConfiguration().getLdapConfiguration() + .getLdapAuthEnabled(); + } + } diff --git a/libreplan-webapp/src/main/webapp/users/_editUser.zul b/libreplan-webapp/src/main/webapp/users/_editUser.zul index ef151bbe2..979cacbb4 100644 --- a/libreplan-webapp/src/main/webapp/users/_editUser.zul +++ b/libreplan-webapp/src/main/webapp/users/_editUser.zul @@ -31,6 +31,9 @@ + + @@ -60,13 +63,13 @@