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 }