scala-news-reader

rss/atom news reader in scala

git clone https://9o.is/git/scala-news-reader.git

PasswordReset.scala

(1003B)


      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 
     10 import com.joereader._
     11 import model._
     12 import config._
     13 
     14 import net.liftmodules.mongoauth.model.LoginToken
     15 
     16 object PasswordReset extends Loggable {
     17 
     18   def render = {
     19 
     20     User.currentUser.map {
     21       user =>
     22         val token =
     23           LoginToken.find(LoginToken.userId.name, user.id.is)
     24 
     25         if (token.isEmpty) S.redirectTo(Site.notFound.url)
     26         else token.map(_.delete_!)
     27     }
     28 
     29     var pwd, pwd2 = ""
     30 
     31     def doSubmit(): JsCmd =
     32       if (pwd == pwd2) {
     33         User.currentUser.map {
     34           user =>
     35             user.password(pwd)
     36             user.password.hashIt
     37             user.save
     38         }
     39         S.redirectTo(Site.home.url)
     40       }
     41       else
     42         S.error("id_pwd2_err", "Password does not match")
     43 
     44     "#id_pwd" #> password(pwd, pwd = _) &
     45       "#id_pwd2" #> password(pwd2, pwd2 = _) &
     46       "#id_submit" #> ajaxSubmit("Save", doSubmit)
     47   }
     48 }