packages feed

lucienne-0.0.1: Lucienne/Controller/ChangePassword.hs

module Lucienne.Controller.ChangePassword 
       (changePassword, doChangePassword)
where
  
import qualified Lucienne.Database as DB
import           Lucienne.Controller.Imports
import qualified Lucienne.View.ChangePassword as View
import qualified Lucienne.Url as Url

changePassword :: User -> Controller Response
changePassword _ = do
  msg  <- getMessages
  ok $ toResponse $ View.changePassword msg

doChangePassword :: User -> Controller Response
doChangePassword user = do
  decodeBody
  Just password      <- lookParameter "password"
  Just checkPassword <- lookParameter "check_password"
  
  if password == checkPassword && not (null password)
    then do 
      lift $ DB.changePassword user password
      seeHome
    else seeOther $ withMessage CheckPassword Url.changePassword