Skip to content

Commit 76b15bc

Browse files
author
Nick Grippin
committed
add name to email
1 parent 879456f commit 76b15bc

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

api/src/main/scala/hmda/api/http/institutions/submissions/SubmissionSignPaths.scala

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ import javax.mail._
2828
import javax.mail.internet.{ InternetAddress, MimeMessage }
2929

3030
import com.typesafe.config.ConfigFactory
31+
import hmda.model.institution.Institution
32+
import hmda.persistence.model.HmdaSupervisorActor.FindActorByName
3133
import hmda.query.repository.KeyCloakRepository
34+
import hmda.query.view.institutions.InstitutionView
35+
import hmda.query.view.institutions.InstitutionView.{ GetInstitutionById, GetInstitutionByRespondentId }
3236

3337
trait SubmissionSignPaths
3438
extends InstitutionProtocol
@@ -103,15 +107,25 @@ trait SubmissionSignPaths
103107

104108
private def emailSignature(supervisor: ActorRef, submission: Submission)(implicit ec: ExecutionContext) = {
105109
val emails = findEmailsById(submission.id.institutionId)
106-
emails.map(emailSeq => {
107-
emailSeq.foreach(t => {
108-
val username = t._1 + " " + t._2
109-
sendMail(t._3, username, submission)
110-
})
110+
val querySupervisor = system.actorSelection("/user/query-supervisor/singleton")
111+
val fInstitutionsActor = (querySupervisor ? FindActorByName(InstitutionView.name)).mapTo[ActorRef]
112+
val fName = for {
113+
a <- fInstitutionsActor
114+
i <- (a ? GetInstitutionById(submission.id.institutionId)).mapTo[Institution]
115+
e <- emails
116+
} yield (i.respondent.name, e)
117+
118+
fName.onComplete({
119+
case Success((instName, emailSeq)) =>
120+
emailSeq.foreach(t => {
121+
val username = t._1 + " " + t._2
122+
sendMail(t._3, username, submission, instName)
123+
})
124+
case Failure(error) => log.error(error, s"An error has occured retrieving the institution name for ID ${submission.id.institutionId}")
111125
})
112126
}
113127

114-
private def sendMail(address: String, username: String, submission: Submission) = {
128+
private def sendMail(address: String, username: String, submission: Submission, instName: String) = {
115129
val config = ConfigFactory.load()
116130
val host = config.getString("hmda.mail.host")
117131
val port = config.getString("hmda.mail.port")
@@ -126,7 +140,7 @@ trait SubmissionSignPaths
126140

127141
val date = getFormattedDate
128142

129-
val text = s"$username,\n\nCongratulations, you've completed filing your HMDA data for filing period ${submission.id.period}.\n" +
143+
val text = s"$username,\n\nCongratulations, you've completed filing your HMDA data for $instName for filing period ${submission.id.period}.\n" +
130144
s"We received your filing on: $date\n" +
131145
s"Your receipt is: ${submission.receipt}"
132146
message.setFrom(new InternetAddress(senderAddress))

0 commit comments

Comments
 (0)