|
@@ -10,7 +10,6 @@ Url = require("url")
|
|
|
AuthenticationController = require("../Authentication/AuthenticationController")
|
|
AuthenticationController = require("../Authentication/AuthenticationController")
|
|
|
AuthenticationManager = require("../Authentication/AuthenticationManager")
|
|
AuthenticationManager = require("../Authentication/AuthenticationManager")
|
|
|
|
|
|
|
|
-
|
|
|
|
|
module.exports =
|
|
module.exports =
|
|
|
|
|
|
|
|
deleteUser: (req, res)->
|
|
deleteUser: (req, res)->
|
|
@@ -99,3 +98,32 @@ module.exports =
|
|
|
message:
|
|
message:
|
|
|
type:'error'
|
|
type:'error'
|
|
|
text:'Your old password is wrong'
|
|
text:'Your old password is wrong'
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ doRequestPasswordReset : (req, res, next = (error) ->)->
|
|
|
|
|
+ uuid = require("node-uuid")
|
|
|
|
|
+ EmailHandler = require("../Email/EmailHandler")
|
|
|
|
|
+ email = sanitize.escape(req.body.email)
|
|
|
|
|
+ email = sanitize.escape(email).trim()
|
|
|
|
|
+ email = email.toLowerCase()
|
|
|
|
|
+ logger.log email: email, "password reset requested"
|
|
|
|
|
+ User.findOne {'email':email}, (err, user)->
|
|
|
|
|
+ if(user?)
|
|
|
|
|
+ randomPassword = uuid.v4()
|
|
|
|
|
+ AuthenticationManager.setUserPassword user._id, randomPassword, (error) ->
|
|
|
|
|
+ emailOpts =
|
|
|
|
|
+ newPassword: randomPassword
|
|
|
|
|
+ to: user.email
|
|
|
|
|
+ EmailHandler.sendEmail "passwordReset", emailOpts, (err)->
|
|
|
|
|
+ if err?
|
|
|
|
|
+ logger.err err:err, emailOpts:emailOpts, "problem sending password reset email"
|
|
|
|
|
+ return res.send 500
|
|
|
|
|
+ metrics.inc "user.password-reset"
|
|
|
|
|
+ res.send message:
|
|
|
|
|
+ text:'An email with your new password has been sent to you'
|
|
|
|
|
+ type:'success'
|
|
|
|
|
+ else
|
|
|
|
|
+ res.send message:
|
|
|
|
|
+ text:'This email address has not been registered with us'
|
|
|
|
|
+ type:'failure'
|
|
|
|
|
+ logger.info email: email, "no user found with email"
|