scala-news-reader
rss/atom news reader in scala
git clone https://9o.is/git/scala-news-reader.git
UserRecovery.scala
(1024B)
1 package com.joereader.snippet
2
3 import net.liftweb._
4 import util.Helpers._
5 import common._
6 import http._
7 import js._
8 import SHtml._
9 import JsCmds._
10
11 import com.joereader._
12 import model._
13
14
15 object UserRecovery extends Loggable {
16
17 def render = {
18
19 def doSubmit(): JsCmd =
20 S.param("email").map(e => {
21 val email = e.toLowerCase.trim
22 User.loginCredentials(email)
23
24 User.findByEmail(email) match {
25 case Full(user) =>
26 User.sendLoginToken(user)
27 User.loginCredentials.remove()
28 S.notice("id_email_err", "An email has been " +
29 "sent to you with instructions to access your account")
30 Noop
31 case _ =>
32 S.error("id_email_err",
33 "The email you entered cannot be found")
34 Noop
35 }
36
37 }) openOr {
38 S.error("id_email_err", "Please enter an email address")
39 Noop
40 }
41
42 "#id_email [value]" #> User.loginCredentials.is &
43 "#id_submit" #> hidden(doSubmit)
44 }
45 }