From a92d55eecb68bc85191e8c978034cfa642b804df Mon Sep 17 00:00:00 2001 From: Thibault Duplessis Date: Wed, 14 Mar 2018 15:14:33 -0500 Subject: [PATCH] confirm email if print is missing --- app/controllers/Auth.scala | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/controllers/Auth.scala b/app/controllers/Auth.scala index f7485f9d95..108feb1654 100644 --- a/app/controllers/Auth.scala +++ b/app/controllers/Auth.scala @@ -134,7 +134,8 @@ object Auth extends LilaController { private object MustConfirmEmail { case object Nope extends MustConfirmEmail(false) - case object YesBecausePrint extends MustConfirmEmail(true) + case object YesBecausePrintExists extends MustConfirmEmail(true) + case object YesBecausePrintMissing extends MustConfirmEmail(true) case object YesBecauseIpExists extends MustConfirmEmail(true) case object YesBecauseIpSusp extends MustConfirmEmail(true) case object YesBecauseMobile extends MustConfirmEmail(true) @@ -144,10 +145,12 @@ object Auth extends LilaController { val ip = HTTPRequest lastRemoteAddress ctx.req api.recentByIpExists(ip) flatMap { ipExists => if (ipExists) fuccess(YesBecauseIpExists) - else print.??(api.recentByPrintExists) flatMap { printExists => - if (printExists) fuccess(YesBecausePrint) - else if (HTTPRequest weirdUA ctx.req) fuccess(YesBecauseUA) - else Env.security.ipTrust.isSuspicious(ip).map { _.fold(YesBecauseIpSusp, Nope) } + else if (HTTPRequest weirdUA ctx.req) fuccess(YesBecauseUA) + else print.fold[Fu[MustConfirmEmail]](fuccess(YesBecausePrintMissing)) { fp => + api.recentByPrintExists(fp) flatMap { printFound => + if (printFound) fuccess(YesBecausePrintExists) + else Env.security.ipTrust.isSuspicious(ip).map { _.fold(YesBecauseIpSusp, Nope) } + } } } }