You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by vd...@apache.org on 2013/08/08 06:31:29 UTC

svn commit: r1511580 - in /openmeetings/trunk/singlewebapp/src/org/apache/openmeetings: data/user/dao/UsersDao.java web/admin/users/UserForm.java web/user/profile/ProfilePanel.java

Author: vdegtyarev
Date: Thu Aug  8 04:31:28 2013
New Revision: 1511580

URL: http://svn.apache.org/r1511580
Log:
OPENMEETINGS-741 is fixed. User password is changed in the admin module and on the user profile tab.

Modified:
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDao.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/users/UserForm.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/ProfilePanel.java

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDao.java?rev=1511580&r1=1511579&r2=1511580&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDao.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDao.java Thu Aug  8 04:31:28 2013
@@ -21,6 +21,7 @@ package org.apache.openmeetings.data.use
 import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.persistence.beans.basic.Configuration.DEFAUT_LANG_KEY;
 
+import java.security.NoSuchAlgorithmException;
 import java.util.Date;
 import java.util.List;
 
@@ -143,27 +144,40 @@ public class UsersDao implements IDataPr
 	}
 
 	public User get(long user_id) {
+		return get(user_id, false);
+	}
+	
+	private User get(long user_id, boolean force) {
 		if (user_id > 0) {
-			try {
-				TypedQuery<User> query = em.createNamedQuery("getUserById",
-						User.class);
-				query.setParameter("user_id", user_id);
+			TypedQuery<User> query = em.createNamedQuery("getUserById",
+					User.class);
+			query.setParameter("user_id", user_id);
 
-				User users = null;
-				try {
+			User users = null;
+			try {
+				if (force) {
+					@SuppressWarnings("unchecked")
+					OpenJPAQuery<User> kq = OpenJPAPersistence.cast(query);
+					kq.getFetchPlan().addFetchGroup("backupexport");
+					users = kq.getSingleResult();
+				} else {
 					users = query.getSingleResult();
-				} catch (NoResultException ex) {
 				}
-				return users;
-			} catch (Exception ex2) {
-				log.error("getUser", ex2);
+			} catch (NoResultException ex) {
 			}
+			return users;
 		} else {
 			log.info("[getUser] " + "Info: No USER_ID given");
 		}
 		return null;
 	}
 
+	public User updatePassword(long userId, String password, long updateBy) throws NoSuchAlgorithmException {
+		User u = get(userId, true);
+		u.updatePassword(cryptManager, configurationDao, password);
+		return update(u, updateBy);
+	}
+	
 	public Long deleteUserID(long userId) {
 		try {
 			if (userId != 0) {

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/users/UserForm.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/users/UserForm.java?rev=1511580&r1=1511579&r2=1511580&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/users/UserForm.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/users/UserForm.java Thu Aug  8 04:31:28 2013
@@ -30,7 +30,6 @@ import java.util.Arrays;
 import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
 import org.apache.openmeetings.data.user.dao.UsersDao;
 import org.apache.openmeetings.persistence.beans.user.User;
-import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
 import org.apache.openmeetings.web.admin.AdminBaseForm;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.ComunityUserForm;
@@ -83,11 +82,11 @@ public class UserForm extends AdminBaseF
 		// different mechanism to protect the password from being read
 		// sebawagner, 01.10.2012
 		try {
+			getBean(UsersDao.class).update(u, getUserId());
 			String pass = generalForm.getPasswordField().getConvertedInput();
 			if (pass != null && !pass.isEmpty()) {
-				u.updatePassword(getBean(ManageCryptStyle.class), getBean(ConfigurationDao.class), pass);
+				u = getBean(UsersDao.class).updatePassword(u.getUser_id(), pass, getUserId());
 			}
-			getBean(UsersDao.class).update(u, getUserId());
 		} catch (Exception e) {
 			// FIXME update feedback with the error details
 		}

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/ProfilePanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/ProfilePanel.java?rev=1511580&r1=1511579&r2=1511580&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/ProfilePanel.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/ProfilePanel.java Thu Aug  8 04:31:28 2013
@@ -21,10 +21,8 @@ package org.apache.openmeetings.web.user
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
-import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
 import org.apache.openmeetings.data.user.dao.UsersDao;
 import org.apache.openmeetings.persistence.beans.user.User;
-import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
 import org.apache.openmeetings.web.common.ComunityUserForm;
 import org.apache.openmeetings.web.common.FormSaveRefreshPanel;
 import org.apache.openmeetings.web.common.UploadableProfileImagePanel;
@@ -56,7 +54,7 @@ public class ProfilePanel extends UserPa
 						try {
 							String pass = userForm.getPasswordField().getConvertedInput();
 							if (pass != null && !pass.isEmpty()) {
-								u.updatePassword(getBean(ManageCryptStyle.class), getBean(ConfigurationDao.class), pass);
+								u = getBean(UsersDao.class).updatePassword(u.getUser_id(), pass, getUserId());
 							}
 							getBean(UsersDao.class).update(u, getUserId());
 						} catch (Exception e) {