From e784ae5db67229b2d5239a308d51d2b1b3a944eb Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Mon, 16 Sep 2013 14:21:33 +0200
Subject: [PATCH] OO-774: fix the red screen if the email address is not valid

---
 .../olat/core/util/mail/ui/EMailCalloutCtrl.java | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/olat/core/util/mail/ui/EMailCalloutCtrl.java b/src/main/java/org/olat/core/util/mail/ui/EMailCalloutCtrl.java
index ddc433788e3..e61ec068c16 100644
--- a/src/main/java/org/olat/core/util/mail/ui/EMailCalloutCtrl.java
+++ b/src/main/java/org/olat/core/util/mail/ui/EMailCalloutCtrl.java
@@ -40,6 +40,7 @@ import org.olat.core.gui.control.generic.ajax.autocompletion.ListProvider;
 import org.olat.core.id.Identity;
 import org.olat.core.id.Roles;
 import org.olat.core.util.StringHelper;
+import org.olat.core.util.mail.MailHelper;
 import org.olat.core.util.mail.MailModule;
 import org.olat.user.UserManager;
 
@@ -102,13 +103,18 @@ public class EMailCalloutCtrl extends FormBasicController {
 		if(StringHelper.isLong(mail)) {
 			identity = BaseSecurityManager.getInstance().loadIdentityByKey(Long.parseLong(mail));
 		}
-		if(identity == null) {
-			identity = UserManager.getInstance().findIdentityByEmail(mail);
+		if(MailHelper.isValidEmailAddress(mail)) {
+			if(identity == null) {
+				identity = UserManager.getInstance().findIdentityByEmail(mail);
+			}
+			if(identity == null) {
+				identity = new EMailIdentity(mail, getLocale());
+			}
 		}
-		if(identity == null) {
-			identity = new EMailIdentity(mail, getLocale());
+		
+		if(identity != null) {
+			fireEvent(ureq, new SingleIdentityChosenEvent(identity));
 		}
-		fireEvent(ureq, new SingleIdentityChosenEvent(identity));
 	}
 
 	@Override
-- 
GitLab