You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2014/01/29 09:05:46 UTC

svn commit: r1562376 - in /openmeetings/trunk/singlewebapp/src: db/java/org/apache/openmeetings/db/dao/user/ db/java/org/apache/openmeetings/db/entity/user/ web/java/org/apache/openmeetings/web/pages/auth/

Author: solomax
Date: Wed Jan 29 08:05:46 2014
New Revision: 1562376

URL: http://svn.apache.org/r1562376
Log:
[OPENMEETINGS-880] Forget password works as expected if no email are entered

Modified:
    openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/user/AbstractUserDao.java
    openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/user/User.java
    openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java

Modified: openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/user/AbstractUserDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/user/AbstractUserDao.java?rev=1562376&r1=1562375&r2=1562376&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/user/AbstractUserDao.java (original)
+++ openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/user/AbstractUserDao.java Wed Jan 29 08:05:46 2014
@@ -295,54 +295,48 @@ public class AbstractUserDao  {
 	}
 	
 	public User getUserByName(String login) {
+		User us = null;
 		try {
-			TypedQuery<User> query = em.createNamedQuery("getUserByName", User.class);
-			query.setParameter("login", login);
-			query.setParameter("deleted", true);
-			User us = null;
-			try {
-				us = query.getSingleResult();
-			} catch (NoResultException ex) {
-			}
-			return us;
-		} catch (Exception e) {
-			log.error("[getUserByAdressesId]", e);
+			us = em.createNamedQuery("getUserByLogin", User.class)
+					.setParameter("login", login)
+					.setParameter("type", User.Type.user)
+					.getSingleResult();
+		} catch (NoResultException ex) {
 		}
-		return null;
+		return us;
 	}
 
 	public User getUserByEmail(String email) {
-		TypedQuery<User> query = em.createNamedQuery("getUserByEmail", User.class);
-		query.setParameter("email", email);
 		User us = null;
 		try {
-			us = query.getSingleResult();
+			us = em.createNamedQuery("getUserByEmail", User.class)
+					.setParameter("email", email)
+					.setParameter("type", User.Type.user)
+					.getSingleResult();
 		} catch (NoResultException ex) {
 		}
 		return us;
 	}
 
 	public Object getUserByHash(String hash) {
+		if (hash.length() == 0) {
+			return new Long(-5);
+		}
+		User us = null;
 		try {
-			if (hash.length() == 0)
-				return new Long(-5);
-			TypedQuery<User> query = em.createNamedQuery("getUserByHash", User.class);
-			query.setParameter("resethash", hash);
-			query.setParameter("deleted", true);
-			User us = null;
-			try {
-				us = query.getSingleResult();
-			} catch (NoResultException ex) {
-			}
-			if (us != null) {
-				return us;
-			} else {
-				return new Long(-5);
-			}
+			us = em.createNamedQuery("getUserByHash", User.class)
+					.setParameter("resethash", hash)
+					.setParameter("type", User.Type.user)
+					.getSingleResult();
+		} catch (NoResultException ex) {
 		} catch (Exception e) {
 			log.error("[getUserByHash]", e);
 		}
-		return new Long(-1);
+		if (us != null) {
+			return us;
+		} else {
+			return new Long(-5);
+		}
 	}
 
 	/**

Modified: openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/user/User.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/user/User.java?rev=1562376&r1=1562375&r2=1562376&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/user/User.java (original)
+++ openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/user/User.java Wed Jan 29 08:05:46 2014
@@ -76,12 +76,9 @@ import org.simpleframework.xml.Root;
 			+ "AND u.login = :login AND u.deleted = false"),
 	@NamedQuery(name = "checkUserEmail", query = "SELECT COUNT(u) FROM User u WHERE ((:id > 0 AND u.user_id <> :id) OR (:id = 0)) "
 			+ "AND u.adresses.email = :email AND u.deleted = false AND u.type <> :type"),
-	@NamedQuery(name = "getUserByName", query = "SELECT u FROM User u "
-			+ " where u.login = :login" + " AND u.deleted <> :deleted"),
-	@NamedQuery(name = "getUserByEmail", query = "SELECT u FROM User u WHERE u.deleted = false AND u.adresses.email = :email"),
-	@NamedQuery(name = "getUserByHash", query = "SELECT u FROM User u "
-			+ " where u.resethash = :resethash"
-			+ " AND u.deleted <> :deleted"),
+	@NamedQuery(name = "getUserByLogin", query = "SELECT u FROM User u WHERE u.deleted = false AND u.type = :type AND u.login = :login"),
+	@NamedQuery(name = "getUserByEmail", query = "SELECT u FROM User u WHERE u.deleted = false AND u.type = :type AND u.adresses.email = :email"),
+	@NamedQuery(name = "getUserByHash",  query = "SELECT u FROM User u WHERE u.deleted = false AND u.type = :type AND u.resethash = :resethash"),
 	@NamedQuery(name = "getContactByEmailAndUser", query = "SELECT u FROM User u WHERE u.deleted = false AND u.adresses.email = :email AND u.type = :type AND u.ownerId = :ownerId"), 
 	@NamedQuery(name = "selectMaxFromUsersWithSearch", query = "select count(c.user_id) from User c "
 			+ "where c.deleted = false " + "AND ("

Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java?rev=1562376&r1=1562375&r2=1562376&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java Wed Jan 29 08:05:46 2014
@@ -112,7 +112,6 @@ public class ForgetPasswordDialog extend
 					
 					@Override
 					protected void onError(AjaxRequestTarget target, Form<?> form) {
-						// TODO Auto-generated method stub
 						ForgetPasswordDialog.this.onError(target);
 					}
 				});
@@ -122,11 +121,13 @@ public class ForgetPasswordDialog extend
 			protected void onValidate() {
 				AdminUserDao dao = getBean(AdminUserDao.class);
 				String n = nameField.getConvertedInput();
-				if (type == Type.email && null == dao.getUserByEmail(n)) {
-					error(WebSession.getString(318));
-				}
-				if (type == Type.login && null == dao.getUserByName(n)) {
-					error(WebSession.getString(320));
+				if (n != null) {
+					if (type == Type.email && null == dao.getUserByEmail(n)) {
+						error(WebSession.getString(318));
+					}
+					if (type == Type.login && null == dao.getUserByName(n)) {
+						error(WebSession.getString(320));
+					}
 				}
 			}
 		});