Validate email address
This commit is contained in:
parent
55a5801da4
commit
e4df728a04
2 changed files with 28 additions and 12 deletions
32
vedia.rb
32
vedia.rb
|
|
@ -136,19 +136,27 @@ get '/reset' do
|
|||
end
|
||||
|
||||
post '/reset' do
|
||||
@user = User.find_by(email: params[:email])
|
||||
if @user
|
||||
@reset = SecureRandom.uuid
|
||||
@user.reset = hash_password(@reset)
|
||||
@user.save
|
||||
mail = Mail.new
|
||||
mail.from = settings.admin_email
|
||||
mail.to = @user.email
|
||||
mail.subject = _("Reset your password")
|
||||
mail.body = erb :reset_email, :layout => false
|
||||
mail.deliver
|
||||
@errors = []
|
||||
unless params[:email] =~ URI::MailTo::EMAIL_REGEXP
|
||||
@errors << OpenStruct.new(:attribute => :email, :type => :invalid)
|
||||
end
|
||||
if not @errors.empty?
|
||||
erb :reset
|
||||
else
|
||||
@user = User.find_by(email: params[:email])
|
||||
if @user
|
||||
@reset = SecureRandom.uuid
|
||||
@user.reset = hash_password(@reset)
|
||||
@user.save
|
||||
mail = Mail.new
|
||||
mail.from = settings.admin_email
|
||||
mail.to = @user.email
|
||||
mail.subject = _("Reset your password")
|
||||
mail.body = erb :reset_email, :layout => false
|
||||
mail.deliver
|
||||
end
|
||||
erb :reset_sent
|
||||
end
|
||||
erb :reset_sent
|
||||
end
|
||||
|
||||
get '/reset/:uuid' do
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue