From a342e4035d170fc3880394c98531460451bb58f4 Mon Sep 17 00:00:00 2001 From: Everett Sochowski Date: Tue, 4 Nov 2014 12:44:04 +0100 Subject: [PATCH] Override user validation and reset emails to use the props hostname instead of S.hostAndPath --- .../scala/code/model/dataAccess/OBPUser.scala | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/main/scala/code/model/dataAccess/OBPUser.scala b/src/main/scala/code/model/dataAccess/OBPUser.scala index c0a2797b8..6d56e7602 100755 --- a/src/main/scala/code/model/dataAccess/OBPUser.scala +++ b/src/main/scala/code/model/dataAccess/OBPUser.scala @@ -32,6 +32,7 @@ Berlin 13359, Germany package code.model.dataAccess import net.liftweb.mapper._ +import net.liftweb.util.Mailer.{BCC, To, Subject, From} import net.liftweb.util._ import net.liftweb.common._ import scala.xml.NodeSeq @@ -128,6 +129,50 @@ import net.liftweb.util.Helpers._ SHtml.span(loginXml getOrElse NodeSeq.Empty,Noop) } + /** + * Overriden to use the hostname set in the props file + */ + override def sendPasswordReset(email: String) { + findUserByUserName(email) match { + case Full(user) if user.validated_? => + user.resetUniqueId().save + val resetLink = Props.get("hostname", "ERROR")+ + passwordResetPath.mkString("/", "/", "/")+urlEncode(user.getUniqueId()) + + Mailer.sendMail(From(emailFrom),Subject(passwordResetEmailSubject), + (To(user.getEmail) :: + generateResetEmailBodies(user, resetLink) ::: + (bccEmail.toList.map(BCC(_)))) :_*) + + S.notice(S.?("password.reset.email.sent")) + S.redirectTo(homePage) + + case Full(user) => + sendValidationEmail(user) + S.notice(S.?("account.validation.resent")) + S.redirectTo(homePage) + + case _ => S.error(userNameNotFoundString) + } + } + + /** + * Overriden to use the hostname set in the props file + */ + override def sendValidationEmail(user: TheUserType) { + val resetLink = Props.get("hostname", "ERROR")+"/"+validateUserPath.mkString("/")+ + "/"+urlEncode(user.getUniqueId()) + + val email: String = user.getEmail + + val msgXml = signupMailBody(user, resetLink) + + Mailer.sendMail(From(emailFrom),Subject(signupMailSubject), + (To(user.getEmail) :: + generateValidationEmailBodies(user, resetLink) ::: + (bccEmail.toList.map(BCC(_)))) :_* ) + } + /** * Set this to redirect to a certain page after a failed login */