adding basic forgot password controller and views
This commit is contained in:
@@ -1,7 +1,19 @@
|
||||
require
|
||||
class UsersController < ApplicationController
|
||||
|
||||
skip_before_filter :has_info
|
||||
skip_before_filter :authenticated, :only => [:new, :create]
|
||||
skip_before_filter :authenticated, :only => [:new, :create, :forgot_password]
|
||||
|
||||
def forgot_password
|
||||
@user = User.find_by_email(params[:email]) unless params[:email].nil?
|
||||
|
||||
if @user && password_reset_mailer_setup(@user)
|
||||
flash[:success] = "Password reset email sent to #{params[:email]}"
|
||||
redirect_to :login
|
||||
else
|
||||
flash[:error] = "There was an issue sending password reset email to #{params[:email]}".html_safe unless params[:email].nil?
|
||||
end
|
||||
end
|
||||
|
||||
def new
|
||||
@user = User.new
|
||||
@@ -52,4 +64,16 @@ class UsersController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def password_reset_mailer_setup(user)
|
||||
token = generate_token(user.id, user.email)
|
||||
#reset_password_mailer(user.email, token)
|
||||
end
|
||||
|
||||
def generate_token(id, email)
|
||||
hash = Digest::MD5.hexdigest(email)
|
||||
"#{id}~#{hash}"
|
||||
end
|
||||
|
||||
end
|
||||
@@ -22,6 +22,7 @@
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
<%= link_to "Forgot Password", forgot_password_path, {:class => "btn btn-warning btn-small"} %>
|
||||
<%= submit_tag "Login", {:class => "btn btn-info btn-large pull-right"} %>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<div class="row-fluid">
|
||||
<h2 align="center">MetaCorp</h2>
|
||||
<h3 align="center">A GoatGroup Company</h3>
|
||||
<div class="span12">
|
||||
<div class="row-fluid">
|
||||
<div class="span4 offset4">
|
||||
<div class="signup">
|
||||
<%= form_tag "forgot_password", :class=> "signup-wrapper" do %>
|
||||
<div class="header">
|
||||
|
||||
<h2>Login</h2>
|
||||
<p>Fill out the form below to reset your email.</p>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<%= label_tag "Email Address" %>
|
||||
<%= text_field_tag :email, params[:email], {:class => "input input-block-level"} %>
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
<%= submit_tag "Send Forgot Password Email", {:class => "btn btn-warning btn-small"} %>
|
||||
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3,6 +3,7 @@ Railsgoat::Application.routes.draw do
|
||||
get "login" => "sessions#new"
|
||||
get "signup" => "users#new"
|
||||
get "logout" => "sessions#destroy"
|
||||
match "forgot_password" => "users#forgot_password"
|
||||
|
||||
resources :sessions do
|
||||
|
||||
|
||||
Reference in New Issue
Block a user