Author: solomax
Date: Wed May 22 03:43:07 2013
New Revision: 1485042
URL: http://svn.apache.org/r1485042
Log:
[OPENMEETINGS-643] username/email validations are corrected
Added:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/OmAjaxFormValidatingBehavior.java
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/EmailManager.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDao.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/User.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/labels/LangForm.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/servers/ServerForm.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/users/UserForm.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/ProfilePanel.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomPanel.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/xmlimport/UserImport.java
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/EmailManager.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/EmailManager.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/EmailManager.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/EmailManager.java
Wed May 22 03:43:07 2013
@@ -18,16 +18,14 @@
*/
package org.apache.openmeetings.data.user;
+import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
import static
org.apache.openmeetings.persistence.beans.basic.Configuration.DEFAUT_LANG_KEY;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
-import javax.persistence.TypedQuery;
-import org.apache.openmeetings.OpenmeetingsVariables;
import org.apache.openmeetings.data.basic.FieldManager;
import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
-import org.apache.openmeetings.persistence.beans.user.Address;
import org.apache.openmeetings.templates.RegisterUserTemplate;
import org.apache.openmeetings.utils.mail.MailHandler;
import org.red5.logging.Red5LoggerFactory;
@@ -43,9 +41,7 @@ import org.springframework.transaction.a
*/
@Transactional
public class EmailManager {
-
- private static final Logger log = Red5LoggerFactory.getLogger(
- EmailManager.class,
OpenmeetingsVariables.webAppRootKey);
+ private static final Logger log =
Red5LoggerFactory.getLogger(EmailManager.class, webAppRootKey);
@PersistenceContext
private EntityManager em;
@@ -70,7 +66,7 @@ public class EmailManager {
*/
public String sendMail(String Username, String Userpass, String EMail,
String link, Boolean sendEmailWithVerficationCode) {
-
+ log.debug("sendMail:: username = {}, email = {}", Username,
EMail);
Integer sendEmailAtRegister =
configurationDao.getConfValue("sendEmailAtRegister", Integer.class, "0");
if (sendEmailAtRegister == 1) {
@@ -99,31 +95,4 @@ public class EmailManager {
String succ = "invalid email";
return succ;
}
-
- /**
- * Checks if a mail is already taken by someone else
- *
- * @param email
- * @return
- */
- public boolean checkUserEMail(String email) {
- try {
- if (email == null || email.length() == 0)
- return true;
- log.debug("checkUserMail: " + email);
- TypedQuery<Address> query = em
- .createQuery("select c from Address as
c where c.email LIKE :email AND c.deleted <> :deleted", Address.class);
- query.setParameter("email", email);
- query.setParameter("deleted", true);
- int count = query.getResultList().size();
- log.debug("size: " + count);
-
- if (count > 0) {
- return false;
- }
- } catch (Exception ex2) {
- log.error("checkUserEMail: ", ex2);
- }
- return true;
- }
}
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java
Wed May 22 03:43:07 2013
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.data.user;
+import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
import static
org.apache.openmeetings.persistence.beans.basic.Configuration.DEFAUT_LANG_KEY;
import static
org.apache.openmeetings.persistence.beans.basic.Configuration.FRONTEND_REGISTER_KEY;
import static
org.apache.openmeetings.persistence.beans.basic.Configuration.LOGIN_MIN_LENGTH_KEY;
@@ -41,7 +42,6 @@ import javax.persistence.criteria.Predic
import javax.persistence.criteria.Root;
import org.apache.commons.lang.StringUtils;
-import org.apache.openmeetings.OpenmeetingsVariables;
import org.apache.openmeetings.data.basic.AuthLevelUtil;
import org.apache.openmeetings.data.basic.FieldManager;
import org.apache.openmeetings.data.basic.SessiondataDao;
@@ -81,9 +81,7 @@ import org.springframework.transaction.a
*/
@Transactional
public class UserManager {
-
- private static final Logger log = Red5LoggerFactory.getLogger(
- UserManager.class, OpenmeetingsVariables.webAppRootKey);
+ private static final Logger log =
Red5LoggerFactory.getLogger(UserManager.class, webAppRootKey);
@PersistenceContext
private EntityManager em;
@@ -448,7 +446,7 @@ public class UserManager {
boolean checkName = true;
if (!login.equals(us.getLogin())) {
- checkName =
usersDao.checkUserLogin(login);
+ checkName =
usersDao.checkUserLogin(login, user_id);
}
boolean checkEmail = true;
@@ -457,7 +455,7 @@ public class UserManager {
// Its a new one - check, whether
another user already uses
// that one...
- checkEmail =
emailManagement.checkUserEMail(email);
+ checkEmail =
usersDao.checkUserEMail(email, user_id);
}
if (checkName && checkEmail) {
@@ -881,8 +879,8 @@ public class UserManager {
// Check for required data
if (login.length() >=
userLoginMinimumLength.intValue()) {
// Check for duplicates
- boolean checkName =
usersDao.checkUserLogin(login);
- boolean checkEmail =
emailManagement.checkUserEMail(email);
+ boolean checkName =
usersDao.checkUserLogin(login, null);
+ boolean checkEmail =
usersDao.checkUserEMail(email, null);
if (checkName && checkEmail) {
String hash = cryptManager
@@ -1184,8 +1182,7 @@ public class UserManager {
String email =
values.get("email").toString();
if
(!email.equals(savedUser.getAdresses().getEmail())) {
- boolean checkEmail =
emailManagement
-
.checkUserEMail(email);
+ boolean checkEmail =
usersDao.checkUserEMail(email, user_id);
if (!checkEmail) {
// mail already used by
another user!
returnLong = new
Long(-11);
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=1485042&r1=1485041&r2=1485042&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
Wed May 22 03:43:07 2013
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.data.user.dao;
+import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
import static
org.apache.openmeetings.persistence.beans.basic.Configuration.DEFAUT_LANG_KEY;
import java.util.Date;
@@ -31,7 +32,6 @@ import javax.persistence.TypedQuery;
import org.apache.commons.lang.StringUtils;
import org.apache.openjpa.persistence.OpenJPAPersistence;
import org.apache.openjpa.persistence.OpenJPAQuery;
-import org.apache.openmeetings.OpenmeetingsVariables;
import org.apache.openmeetings.data.IDataProviderDao;
import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
import org.apache.openmeetings.data.basic.dao.OmTimeZoneDao;
@@ -52,9 +52,7 @@ import org.springframework.transaction.a
*/
@Transactional
public class UsersDao implements IDataProviderDao<User> {
-
- private static final Logger log = Red5LoggerFactory.getLogger(
- UsersDao.class, OpenmeetingsVariables.webAppRootKey);
+ private static final Logger log =
Red5LoggerFactory.getLogger(UsersDao.class, webAppRootKey);
public final static String[] searchFields = {"lastname", "firstname",
"login", "adresses.email", "adresses.town"};
@@ -223,23 +221,35 @@ public class UsersDao implements IDataPr
* @param DataValue
* @return
*/
- public boolean checkUserLogin(String DataValue) {
- try {
- TypedQuery<User> query = em
- .createNamedQuery("checkUserLogin",
User.class);
- query.setParameter("DataValue", DataValue);
- query.setParameter("deleted", true);
- int count = query.getResultList().size();
-
- if (count != 0) {
- return false;
- }
- } catch (Exception ex2) {
- log.error("[checkUserData]", ex2);
- }
- return true;
+ public boolean checkUserLogin(String login, Long id) {
+ log.debug("checkUserLogin: email = {}, id = {}", login, id);
+ long count = em.createNamedQuery("checkUserLogin", Long.class)
+ .setParameter("login", login)
+ .setParameter("id", id == null ? 0 : id)
+ .getSingleResult();
+ return count == 0;
}
+ /**
+ * Checks if a mail is already taken by someone else
+ *
+ * @param email
+ * @return
+ */
+ public boolean checkUserEMail(String email, Long id) {
+ log.debug("checkUserMail: email = {}, id = {}", email, id);
+ if (email == null || email.length() == 0) {
+ return true;
+ }
+ long count = em.createNamedQuery("checkUserEmail", Long.class)
+ .setParameter("email", email)
+ .setParameter("id", id == null ? 0 : id)
+ .getSingleResult();
+ log.debug("size: " + count);
+
+ return count == 0;
+ }
+
public User getUserByName(String login) {
try {
TypedQuery<User> query =
em.createNamedQuery("getUserByName", User.class);
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/User.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/User.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/User.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/User.java
Wed May 22 03:43:07 2013
@@ -70,14 +70,13 @@ import org.simpleframework.xml.Root;
*
*/
@Entity
-@FetchGroups({
- @FetchGroup(name = "backupexport",
- attributes = { @FetchAttribute(name = "password")
- })
-})
+@FetchGroups({ @FetchGroup(name = "backupexport", attributes = {
@FetchAttribute(name = "password") }) })
@NamedQueries({
@NamedQuery(name = "getUserById", query = "select c from User as c
where c.user_id = :user_id"),
- @NamedQuery(name = "checkUserLogin", query = "select c from User as c
where c.login = :DataValue AND c.deleted <> :deleted"),
+ @NamedQuery(name = "checkUserLogin", query = "SELECT COUNT(u) FROM User
AS u WHERE ((:id > 0 AND u.user_id <> :id) OR (:id = 0)) "
+ + "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"),
@NamedQuery(name = "getUserByName", query = "SELECT u FROM User as u "
+ " where u.login = :login" + " AND u.deleted <>
:deleted"),
@NamedQuery(name = "getUserByEmail", query = "SELECT u FROM User as u "
@@ -96,9 +95,7 @@ import org.simpleframework.xml.Root;
+ "where c.deleted = false " //
+ "AND c.user_id = :userId " //
+ "AND c.password LIKE :password"), //
- @NamedQuery(name = "updatePassword", query = "UPDATE User u " //
- + "SET u.password = :password " //
- + "WHERE u.user_id = :userId"), //
+ @NamedQuery(name = "updatePassword", query = "UPDATE User u SET
u.password = :password WHERE u.user_id = :userId"), //
@NamedQuery(name = "getNondeletedUsers", query = "SELECT u FROM User u
WHERE u.deleted = false"),
@NamedQuery(name = "countNondeletedUsers", query = "SELECT COUNT(u)
FROM User u WHERE u.deleted = false"),
@NamedQuery(name = "getUsersByOrganisationId", query = "SELECT u FROM
User u WHERE u.deleted = false AND
u.organisation_users.organisation.organisation_id = :organisation_id")
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/configurations/ConfigForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
Wed May 22 03:43:07 2013
@@ -23,8 +23,8 @@ import org.apache.openmeetings.persisten
import org.apache.openmeetings.web.admin.AdminBaseForm;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
import org.apache.wicket.datetime.markup.html.basic.DateLabel;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
@@ -77,8 +77,7 @@ public class ConfigForm extends AdminBas
// attach an ajax validation behavior to all form component's
keydown
// event and throttle it down to once per second
- AjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown",
- Duration.ONE_SECOND);
+ OmAjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown", Duration.ONE_SECOND);
}
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java
Wed May 22 03:43:07 2013
@@ -23,8 +23,8 @@ import org.apache.openmeetings.persisten
import org.apache.openmeetings.web.admin.AdminBaseForm;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.RequiredTextField;
@@ -47,8 +47,7 @@ public class GroupForm extends AdminBase
// attach an ajax validation behavior to all form component's
keydown
// event and throttle it down to once per second
- AjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown",
- Duration.ONE_SECOND);
+ OmAjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown", Duration.ONE_SECOND);
}
void updateView(AjaxRequestTarget target) {
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/labels/LangForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/labels/LangForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/labels/LangForm.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/labels/LangForm.java
Wed May 22 03:43:07 2013
@@ -22,11 +22,11 @@ import org.apache.openmeetings.data.basi
import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.common.ConfirmCallListener;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
@@ -112,7 +112,6 @@ public class LangForm extends Form<Void>
// attach an ajax validation behavior to all form component's
keydown
// event and throttle it down to once per second
- AjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown",
- Duration.ONE_SECOND);
+ OmAjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown", Duration.ONE_SECOND);
}
}
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/ldaps/LdapForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
Wed May 22 03:43:07 2013
@@ -23,8 +23,8 @@ import org.apache.openmeetings.persisten
import org.apache.openmeetings.web.admin.AdminBaseForm;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
import org.apache.wicket.datetime.markup.html.basic.DateLabel;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
@@ -66,8 +66,7 @@ public class LdapForm extends AdminBaseF
// attach an ajax validation behavior to all form component's
keydown
// event and throttle it down to once per second
- AjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown",
- Duration.ONE_SECOND);
+ OmAjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown", Duration.ONE_SECOND);
}
@Override
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java
Wed May 22 03:43:07 2013
@@ -30,7 +30,7 @@ import org.apache.openmeetings.persisten
import org.apache.openmeetings.web.admin.AdminBaseForm;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
@@ -127,7 +127,6 @@ public class RoomForm extends AdminBaseF
// attach an ajax validation behavior to all form component's
keydown
// event and throttle it down to once per second
- AjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown",
- Duration.ONE_SECOND);
+ OmAjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown", Duration.ONE_SECOND);
}
}
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/servers/ServerForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/servers/ServerForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/servers/ServerForm.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/servers/ServerForm.java
Wed May 22 03:43:07 2013
@@ -23,8 +23,8 @@ import org.apache.openmeetings.persisten
import org.apache.openmeetings.web.admin.AdminBaseForm;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
import org.apache.wicket.datetime.markup.html.basic.DateLabel;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
@@ -71,8 +71,7 @@ public class ServerForm extends AdminBas
// attach an ajax validation behavior to all form component's
keydown
// event and throttle it down to once per second
- AjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown",
- Duration.ONE_SECOND);
+ OmAjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown", Duration.ONE_SECOND);
}
@Override
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=1485042&r1=1485041&r2=1485042&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
Wed May 22 03:43:07 2013
@@ -32,8 +32,8 @@ import org.apache.openmeetings.web.admin
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.ComunityUserForm;
import org.apache.openmeetings.web.common.GeneralUserForm;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
import org.apache.wicket.datetime.markup.html.basic.DateLabel;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.CheckBox;
@@ -67,7 +67,7 @@ public class UserForm extends AdminBaseF
// attach an ajax validation behavior to all form component's
keydown
// event and throttle it down to once per second
- AjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown", Duration.ONE_SECOND);
+ OmAjaxFormValidatingBehavior.addToAllFormComponents(this,
"keydown", Duration.ONE_SECOND);
}
@@ -195,7 +195,7 @@ public class UserForm extends AdminBaseF
@Override
protected void onValidate() {
-
if(!getBean(UsersDao.class).checkUserLogin(login.getConvertedInput())) {
+
if(!getBean(UsersDao.class).checkUserLogin(login.getConvertedInput(),
getModelObject().getUser_id())) {
error(WebSession.getString(105));
}
}
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java
Wed May 22 03:43:07 2013
@@ -28,10 +28,10 @@ import java.util.List;
import org.apache.openmeetings.data.basic.FieldLanguageDao;
import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
import org.apache.openmeetings.data.basic.dao.OmTimeZoneDao;
-import org.apache.openmeetings.data.user.EmailManager;
import org.apache.openmeetings.data.user.OrganisationManager;
import org.apache.openmeetings.data.user.dao.SalutationDao;
import org.apache.openmeetings.data.user.dao.StateDao;
+import org.apache.openmeetings.data.user.dao.UsersDao;
import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
import org.apache.openmeetings.persistence.beans.domain.Organisation;
import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
@@ -154,7 +154,7 @@ public class GeneralUserForm extends For
@Override
protected void onValidate() {
-
if(!getBean(EmailManager.class).checkUserEMail(email.getConvertedInput())) {
+
if(!getBean(UsersDao.class).checkUserEMail(email.getConvertedInput(),
getModelObject().getUser_id())) {
error(WebSession.getString(1000));
}
super.onValidate();
Added:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/OmAjaxFormValidatingBehavior.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/OmAjaxFormValidatingBehavior.java?rev=1485042&view=auto
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/OmAjaxFormValidatingBehavior.java
(added)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/OmAjaxFormValidatingBehavior.java
Wed May 22 03:43:07 2013
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.common;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
+import org.apache.wicket.ajax.attributes.ThrottlingSettings;
+import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.FormComponent;
+import org.apache.wicket.util.io.IClusterable;
+import org.apache.wicket.util.time.Duration;
+import org.apache.wicket.util.visit.IVisit;
+import org.apache.wicket.util.visit.IVisitor;
+
+//TODO should be removed in favor of AjaxFormValidatingBehavior after
WICKET-5178 will be fixed
+public class OmAjaxFormValidatingBehavior extends AjaxFormValidatingBehavior {
+ private static final long serialVersionUID = 1L;
+
+ public OmAjaxFormValidatingBehavior(Form<?> form, String event) {
+ super(form, event);
+ }
+
+ public static void addToAllFormComponents(final Form<?> form, final
String event, final Duration throttleDelay) {
+ form.visitChildren(FormComponent.class, new
FormValidateVisitor(form, event, throttleDelay));
+ }
+
+ private static class FormValidateVisitor implements IVisitor<Component,
Void>, IClusterable
+ {
+ private static final long serialVersionUID = 1L;
+ private final Form<?> form;
+ private final String event;
+ private final Duration throttleDelay;
+
+ private FormValidateVisitor(Form<?> form, String event,
Duration throttleDelay)
+ {
+ this.form = form;
+ this.event = event;
+ this.throttleDelay = throttleDelay;
+ }
+
+ public void component(final Component component, final
IVisit<Void> visit)
+ {
+ final AjaxFormValidatingBehavior behavior = new
AjaxFormValidatingBehavior(form, event)
+ {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void updateAjaxAttributes(final
AjaxRequestAttributes attributes)
+ {
+ super.updateAjaxAttributes(attributes);
+
+ if (throttleDelay != null)
+ {
+ String id = "throttle-" +
component.getMarkupId();
+ ThrottlingSettings
throttlingSettings = new ThrottlingSettings(id,
+ throttleDelay);
+
attributes.setThrottlingSettings(throttlingSettings);
+ }
+ attributes.setAllowDefault(true);
+ }
+ };
+ component.add(behavior);
+ visit.dontGoDeeper();
+ }
+ }
+}
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
Wed May 22 03:43:07 2013
@@ -28,7 +28,6 @@ import java.util.List;
import org.apache.openmeetings.data.basic.FieldLanguageDao;
import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
import org.apache.openmeetings.data.basic.dao.OmTimeZoneDao;
-import org.apache.openmeetings.data.user.EmailManager;
import org.apache.openmeetings.data.user.UserManager;
import org.apache.openmeetings.data.user.dao.StateDao;
import org.apache.openmeetings.data.user.dao.UsersDao;
@@ -175,10 +174,10 @@ public class RegisterDialog extends Abst
||
!passwordField.getConvertedInput().equals(confirmPassword.getConvertedInput()))
{
error(WebSession.getString(232));
}
-
if(!getBean(EmailManager.class).checkUserEMail(emailField.getConvertedInput()))
{
+
if(!getBean(UsersDao.class).checkUserEMail(emailField.getConvertedInput(),
null)) {
error(WebSession.getString(1000));
}
-
if(!getBean(UsersDao.class).checkUserLogin(loginField.getConvertedInput())) {
+
if(!getBean(UsersDao.class).checkUserLogin(loginField.getConvertedInput(),
null)) {
error(WebSession.getString(105));
}
}
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=1485042&r1=1485041&r2=1485042&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
Wed May 22 03:43:07 2013
@@ -27,10 +27,10 @@ import org.apache.openmeetings.persisten
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.OmAjaxFormValidatingBehavior;
import org.apache.openmeetings.web.common.UploadableProfileImagePanel;
import org.apache.openmeetings.web.common.UserPanel;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.util.time.Duration;
@@ -94,7 +94,7 @@ public class ProfilePanel extends UserPa
// attach an ajax validation behavior to all
form component's keydown
// event and throttle it down to once per second
-
AjaxFormValidatingBehavior.addToAllFormComponents(this, "keydown",
Duration.ONE_SECOND);
+
OmAjaxFormValidatingBehavior.addToAllFormComponents(this, "keydown",
Duration.ONE_SECOND);
}
};
add(form);
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomPanel.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomPanel.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomPanel.java
Wed May 22 03:43:07 2013
@@ -40,7 +40,7 @@ public class RoomPanel extends BasePanel
super(id);
StringValue swfVal = pp.get("swf");
- String swf = (swfVal.isEmpty() ? "main.as3.swf11.swf" :
swfVal.toString())
+ String swf = (swfVal.isEmpty() ? "maindebug.as3.swf11.swf" :
swfVal.toString())
+ new
PageParametersEncoder().encodePageParameters(pp);
add(new Label("init", String.format("initSwf('%s');",
swf)).setEscapeModelStrings(false));
}
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/xmlimport/UserImport.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/xmlimport/UserImport.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/xmlimport/UserImport.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/xmlimport/UserImport.java
Wed May 22 03:43:07 2013
@@ -18,10 +18,10 @@
*/
package org.apache.openmeetings.xmlimport;
+import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
+
import java.io.InputStream;
-import org.apache.openmeetings.OpenmeetingsVariables;
-import org.apache.openmeetings.data.user.EmailManager;
import org.apache.openmeetings.data.user.UserManager;
import org.apache.openmeetings.data.user.dao.UsersDao;
import org.apache.openmeetings.persistence.beans.user.User;
@@ -31,14 +31,10 @@ import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
public class UserImport {
-
- private static final Logger log = Red5LoggerFactory.getLogger(
- UserImport.class, OpenmeetingsVariables.webAppRootKey);
+ private static final Logger log =
Red5LoggerFactory.getLogger(UserImport.class, webAppRootKey);
@Autowired
private UserManager userManager;
@Autowired
- private EmailManager emailManagement;
- @Autowired
private UsersDao usersDao;
@Autowired
private BackupImportController backupController;
@@ -48,13 +44,13 @@ public class UserImport {
boolean mailCheck = true;
- if
(!emailManagement.checkUserEMail(us.getAdresses().getEmail())) {
+ if
(!usersDao.checkUserEMail(us.getAdresses().getEmail(), us.getUser_id())) {
mailCheck = false;
log.info("mailCheck = " + mailCheck);
}
// check for duplicate Login or mail:
- if (usersDao.checkUserLogin(us.getLogin()) &&
mailCheck) {
+ if (usersDao.checkUserLogin(us.getLogin(),
us.getUser_id()) && mailCheck) {
userManager.addUser(us);
}
}