email new teachers

pull/5940/head
Thibault Duplessis 2020-01-20 11:30:47 -06:00
parent 7e4c163ec1
commit bcce7b426b
2 changed files with 32 additions and 3 deletions

View File

@ -358,13 +358,16 @@ final class Mod(
)
).bindFromRequest.fold(
_ => BadRequest(html.mod.permissions(user)).fuccess,
permissions =>
permissions => {
val newPermissions = Permission(permissions) diff Permission(user.roles)
modApi.setPermissions(AsMod(me), user.username, Permission(permissions)) >> {
(Permission(permissions) diff Permission(user.roles) contains Permission.Coach) ??
env.security.automaticEmail.onBecomeCoach(user)
newPermissions(Permission.Coach) ?? env.security.automaticEmail.onBecomeCoach(user)
} >> {
newPermissions(Permission.Coach) ?? env.security.automaticEmail.onBecomeTeacher(user)
} >> {
Permission(permissions).exists(_ is Permission.SeeReport) ?? env.plan.api.setLifetime(user)
} inject redirect(user.username, true)
}
)
}
}

View File

@ -82,6 +82,32 @@ The lichess team
text = s"""
$body
${Mailgun.txt.serviceNote}
""",
htmlBody = standardEmail(body).some
)
}
}
def onBecomeTeacher(user: User)(implicit lang: Lang): Funit =
userRepo email user.id flatMap {
_ ?? { email =>
val body = s"""Hello,
It is our pleasure to welcome you as a Lichess teacher.
You can now create your first class on ${baseUrl}/class.
Regards,
The lichess team
"""
mailgun send Mailgun.Message(
to = email,
subject = "Lichess Class feature unlocked",
text = s"""
$body
${Mailgun.txt.serviceNote}
""",
htmlBody = standardEmail(body).some