Author: truong.le
Date: 2010-01-14 22:41:05 -0500 (Thu, 14 Jan 2010)
New Revision: 1307
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/account/UIAccountProfiles.java
Log:
GTNPORTAL-246: Error occur when changing an existing email
Fixed in account setting as well.
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/account/UIAccountProfiles.java
===================================================================
---
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/account/UIAccountProfiles.java 2010-01-15
01:49:36 UTC (rev 1306)
+++
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/account/UIAccountProfiles.java 2010-01-15
03:41:05 UTC (rev 1307)
@@ -22,6 +22,7 @@
import org.exoplatform.portal.pom.config.Utils;
import org.exoplatform.portal.webui.util.Util;
import org.exoplatform.services.organization.OrganizationService;
+import org.exoplatform.services.organization.Query;
import org.exoplatform.services.organization.User;
import org.exoplatform.web.application.ApplicationMessage;
import org.exoplatform.webui.application.WebuiRequestContext;
@@ -101,9 +102,23 @@
String userName = uiForm.getUIStringInput("userName").getValue();
User user = service.getUserHandler().findUserByName(userName);
+ String oldEmail = user.getEmail();
+ String newEmail = uiForm.getUIStringInput("email").getValue();
+
+ // Check if mail address is already used
+ Query query = new Query();
+ query.setEmail(newEmail);
+ if (service.getUserHandler().findUsers(query).getAll().size() > 0 &&
!oldEmail.equals(newEmail))
+ {
+ //Be sure it keep old value
+ user.setEmail(oldEmail);
+ Object[] args = {userName};
+ uiApp.addMessage(new
ApplicationMessage("UIAccountInputSet.msg.email-exist", args));
+ return;
+ }
user.setFirstName(uiForm.getUIStringInput("firstName").getValue());
user.setLastName(uiForm.getUIStringInput("lastName").getValue());
- user.setEmail(uiForm.getUIStringInput("email").getValue());
+ user.setEmail(newEmail);
uiApp.addMessage(new
ApplicationMessage("UIAccountProfiles.msg.update.success", null));
service.getUserHandler().saveUser(user, true);
return;
Show replies by date