Просмотр исходного кода

hooked up the frount end ui to show the email can not be found,
added client side valdidation on password, removed server side min
length check. Just check that it is not 0 len

Henry Oswald 12 лет назад
Родитель
Сommit
9419d3a0e5

+ 2 - 2
services/web/app/coffee/Features/PasswordReset/PasswordResetController.coffee

@@ -20,7 +20,7 @@ module.exports =
 				return res.send 500
 				return res.send 500
 			PasswordResetHandler.generateAndEmailResetToken email, (err)->
 			PasswordResetHandler.generateAndEmailResetToken email, (err)->
 				if err?
 				if err?
-					res.send 500
+					res.send 500, {message:err?.message}
 				else
 				else
 					res.send 200
 					res.send 200
 
 
@@ -31,7 +31,7 @@ module.exports =
 
 
 	setNewUserPassword: (req, res)->
 	setNewUserPassword: (req, res)->
 		{passwordResetToken, password} = req.body
 		{passwordResetToken, password} = req.body
-		if !password? or password.length < 4 or !passwordResetToken? or passwordResetToken.length == 0
+		if !password? or password.length == 0 or !passwordResetToken? or passwordResetToken.length == 0
 			return res.send 500
 			return res.send 500
 		PasswordResetHandler.setNewUserPassword passwordResetToken?.trim(), password?.trim(), (err)->
 		PasswordResetHandler.setNewUserPassword passwordResetToken?.trim(), password?.trim(), (err)->
 			if err?
 			if err?

+ 1 - 1
services/web/app/coffee/Features/PasswordReset/PasswordResetHandler.coffee

@@ -13,7 +13,7 @@ module.exports =
 			if err then return callback(err)
 			if err then return callback(err)
 			if !user?
 			if !user?
 				logger.err email:email, "user could not be found for password reset"
 				logger.err email:email, "user could not be found for password reset"
-				return callback("no user found")
+				return callback(message:"Can't find that email, sorry.")
 			PasswordResetTokenHandler.getNewToken user._id, (err, token)->
 			PasswordResetTokenHandler.getNewToken user._id, (err, token)->
 				if err then return callback(err)
 				if err then return callback(err)
 				emailOptions =
 				emailOptions =

+ 22 - 13
services/web/public/coffee/forms.coffee

@@ -37,6 +37,7 @@ require [
 						window.location = data.redir || "/project"
 						window.location = data.redir || "/project"
 				
 				
 
 
+
 	$('#registerFormShort').validate shortRegisterFormRules
 	$('#registerFormShort').validate shortRegisterFormRules
 
 
 	$("#registerFormShort").show()
 	$("#registerFormShort").show()
@@ -99,20 +100,28 @@ require [
 			success: (data)->
 			success: (data)->
 				new Message text:"You have been sent an email to complete your password reset."
 				new Message text:"You have been sent an email to complete your password reset."
 			error:(data)->
 			error:(data)->
-				new Message type:"error", text:"something went wrong processing your request."
-				
-	$('form#setPasswordReset').submit (event)->
-		event.preventDefault()
-		formData = $(this).serialize()
-		$.ajax
-			url: "/user/password/set"
-			type:'POST'
-			data: formData
-			success: (data)->
-				new Message text:"Your password has been reset"
-			error:(data)->
-				new Message type:"error", text:"something went wrong processing your request."
+				message = JSON.parse(data?.responseText)?.message
+				new Message type:"error", text: message || "Something went wrong processing your request."
+	
 
 
+	$('form#setPasswordReset').validate
+		rules:
+			password:
+				required: true
+		messages:
+            password: "Password is required"
+		errorElement: 'div'
+		submitHandler: (form)->
+			event.preventDefault()
+			formData = $(form).serialize()
+			$.ajax
+				url: "/user/password/set"
+				type:'POST'
+				data: formData
+				success: (data)->
+					new Message text:"Your password has been reset"
+				error:(data)->
+					new Message type:"error", text:"Something went wrong processing your request."
 
 
 
 
 	$('a#deleteUserAccount').click (e)->
 	$('a#deleteUserAccount').click (e)->

+ 1 - 1
services/web/test/UnitTests/coffee/PasswordReset/PasswordResetHandlerTests.coffee

@@ -43,7 +43,7 @@ describe "PasswordResetHandler", ->
 			@UserGetter.getUser.callsArgWith(1)
 			@UserGetter.getUser.callsArgWith(1)
 			@PasswordResetTokenHandler.getNewToken.callsArgWith(1)
 			@PasswordResetTokenHandler.getNewToken.callsArgWith(1)
 			@PasswordResetHandler.generateAndEmailResetToken @user.email, (err)=>
 			@PasswordResetHandler.generateAndEmailResetToken @user.email, (err)=>
-				err.should.exists
+				should.exist(err)
 				done()
 				done()