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 }