password recovery refactoring and tests

This commit is contained in:
Karol Selak 2021-03-21 14:44:59 +01:00
parent a69df8e658
commit 39a89ad564
5 changed files with 98 additions and 16 deletions

View file

@ -11,7 +11,10 @@ class UsersController < ApplicationController
def password_recovery_request
@user = User.where(email: params['email']).first
UserMailer.with(user: @user).password_recovery.deliver_now
recovery_password = ('a'..'z').to_a.shuffle[0,8].join
@user.recovery_password = recovery_password
@user.save
UserMailer.with(user: @user, recovery_password: recovery_password).password_recovery.deliver_now
redirect_to '/welcome', notice: "Recovery email sent to #{params['email']}"
end
@ -35,7 +38,7 @@ class UsersController < ApplicationController
redirect_to '/welcome', notice: 'Passwords don\'t match'
end
else
redirect_to '/welcome', notice: 'Recovery link expired or unvalid'
redirect_to '/welcome', notice: 'Recovery link expired or invalid'
end
end
end