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));
+ }
}
}
});