adding basic forgot password controller and views
This commit is contained in:
@@ -1,7 +1,19 @@
|
|||||||
|
require
|
||||||
class UsersController < ApplicationController
|
class UsersController < ApplicationController
|
||||||
|
|
||||||
skip_before_filter :has_info
|
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
|
def new
|
||||||
@user = User.new
|
@user = User.new
|
||||||
@@ -52,4 +64,16 @@ class UsersController < ApplicationController
|
|||||||
end
|
end
|
||||||
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
|
end
|
||||||
@@ -22,6 +22,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="actions">
|
<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"} %>
|
<%= submit_tag "Login", {:class => "btn btn-info btn-large pull-right"} %>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfix"></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 "login" => "sessions#new"
|
||||||
get "signup" => "users#new"
|
get "signup" => "users#new"
|
||||||
get "logout" => "sessions#destroy"
|
get "logout" => "sessions#destroy"
|
||||||
|
match "forgot_password" => "users#forgot_password"
|
||||||
|
|
||||||
resources :sessions do
|
resources :sessions do
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user