Author: tchemit Date: 2012-04-03 13:25:05 +0200 (Tue, 03 Apr 2012) New Revision: 471 Url: http://forge.codelutin.com/repositories/revision/echobase/471 Log: fixes #1076: Apr?\195?\168s la modification d'un utilisateur le mot de passe est perdu Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Delete.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Update.java trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/userList.jsp Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java 2012-04-03 11:24:28 UTC (rev 470) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java 2012-04-03 11:25:05 UTC (rev 471) @@ -74,6 +74,21 @@ } } + public EchoBaseUser getUserById(String userId) { + Preconditions.checkNotNull(userId); + try { + EchoBaseUserDAO dao = getDAO(EchoBaseUser.class, EchoBaseUserDAO.class); + EchoBaseUser user = dao.findByTopiaId(userId); + EchoBaseUser result = newUser(); + result.setEmail(user.getEmail()); + result.setPassword(user.getPassword()); + result.setAdmin(user.isAdmin()); + return result; + } catch (TopiaException eee) { + throw new EchoBaseTechnicalException(eee); + } + } + public void createOrUpdate(EchoBaseUser user) { try { EchoBaseUserDAO dao = getDAO(EchoBaseUser.class, EchoBaseUserDAO.class); Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Delete.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Delete.java 2012-04-03 11:24:28 UTC (rev 470) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Delete.java 2012-04-03 11:25:05 UTC (rev 471) @@ -30,14 +30,17 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.struts2.interceptor.ParameterAware; +import java.util.Map; + /** * To delete a user. * * @author tchemit <chemit@codelutin.com> * @since 0.2 */ -public class Delete extends EchoBaseActionSupport implements Preparable { +public class Delete extends EchoBaseActionSupport implements Preparable, ParameterAware { protected static final Log log = LogFactory.getLog(Delete.class); @@ -47,6 +50,8 @@ protected EchoBaseUser user; + private Map<String, String[]> parameters; + public UserService getUserService() { if (userService == null) { userService = newService(UserService.class); @@ -80,16 +85,21 @@ @Override public void prepare() throws Exception { - String userId = getUser().getTopiaId(); + String userId = parameters.get("user.topiaId")[0]; if (!StringUtils.isEmpty(userId)) { // load user - user = getUserService().getEntityById(EchoBaseUser.class, userId); - + user = getUserService().getUserById(userId); + // do not want to have the password + user.setPassword(""); if (log.isInfoEnabled()) { log.info("Selected user " + user.getEmail()); } } + } + @Override + public void setParameters(Map<String, String[]> parameters) { + this.parameters=parameters; } } \ No newline at end of file Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Update.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Update.java 2012-04-03 11:24:28 UTC (rev 470) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Update.java 2012-04-03 11:25:05 UTC (rev 471) @@ -30,14 +30,17 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.struts2.interceptor.ParameterAware; +import java.util.Map; + /** * To update a user. * * @author tchemit <chemit@codelutin.com> * @since 0.2 */ -public class Update extends EchoBaseActionSupport implements Preparable { +public class Update extends EchoBaseActionSupport implements Preparable, ParameterAware { protected static final Log log = LogFactory.getLog(Update.class); @@ -47,6 +50,8 @@ protected EchoBaseUser user; + private Map<String, String[]> parameters; + public UserService getUserService() { if (userService == null) { userService = newService(UserService.class); @@ -73,12 +78,13 @@ @Override public void prepare() throws Exception { - String userId = getUser().getTopiaId(); + String userId = parameters.get("user.topiaId")[0]; if (!StringUtils.isEmpty(userId)) { // load user - user = getUserService().getEntityById(EchoBaseUser.class, userId); - + user = getUserService().getUserById(userId); + // do not want to update password + user.setPassword(""); if (log.isInfoEnabled()) { log.info("Selected user " + user.getEmail()); } @@ -92,4 +98,8 @@ return user; } + @Override + public void setParameters(Map<String, String[]> parameters) { + this.parameters=parameters; + } } \ No newline at end of file Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/userList.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/userList.jsp 2012-04-03 11:24:28 UTC (rev 470) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/userList.jsp 2012-04-03 11:25:05 UTC (rev 471) @@ -48,8 +48,7 @@ }); </script> -<sjg:grid id="users" caption="%{getText('echobase.header.user.gridTitle')}" - dataType="json" href="%{loadUrl}" gridModel="users" +<sjg:grid id="users" dataType="json" href="%{loadUrl}" gridModel="users" pager="true" pagerButtons="true" pagerInput="true" navigator="true" rownumbers="false" autowidth="true" onSelectRowTopics='users-rowSelect'
participants (1)
-
tchemit@users.forge.codelutin.com