From e133595d494dc3c8b9c9a069d565d53bbb11903a Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 15 Jun 2017 10:48:32 +0630 Subject: [PATCH] authentication fixed --- app/controllers/home_controller.rb | 24 ++++++++++------- app/views/home/index.html.erb | 36 ++++++++++++------------- app/views/layouts/application.html.erb | 2 +- dump.rdb | Bin 22659 -> 18814 bytes 4 files changed, 33 insertions(+), 29 deletions(-) diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index e84aef30..29e9082a 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -10,16 +10,20 @@ class HomeController < ApplicationController @login_form.emp_id = params[:login_form][:emp_id] @login_form.password = params[:login_form][:password] @employee = Employee.login(@login_form.emp_id, @login_form.password) - puts @employee.role - if @employee.role == "administrator" - session[:session_token] = @employee.token_session - redirect_to dashboard_path - elsif @employee.role == "cashier" - session[:session_token] = @employee.token_session - redirect_to origami_root_path - else - render :index - end + + if @employee != nil + if @employee.role == "administrator" + session[:session_token] = @employee.token_session + redirect_to dashboard_path + elsif @employee.role == "cashier" + session[:session_token] = @employee.token_session + redirect_to origami_root_path + else + render :index + end + else + redirect_to origami_root_path, :notice => "Username and Password dosn't match!" + end end diff --git a/app/views/home/index.html.erb b/app/views/home/index.html.erb index ce88a421..35eb6481 100644 --- a/app/views/home/index.html.erb +++ b/app/views/home/index.html.erb @@ -1,25 +1,25 @@ -
-
- <%= simple_form_for(@login_form, url: login_path, method: "POST") do |f| %> -
-

Login

-
-
- <%= f.input :emp_id, required: false, autofocus: true, class: "form-control" %> -
-
- <%= f.input :password, required: false, class: "form-control" %> -
- +
+
+ <%= simple_form_for(@login_form, url: login_path, method: "POST") do |f| %> +
+

Login

+
+
+ <%= f.input :emp_id, required: false, autofocus: true, class: "form-control" %>
- + +
+ +
+ + <% end %>
+
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 44624a43..1d4991e6 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -18,7 +18,7 @@ <%= render 'layouts/header' %>
<% flash.each do |type, message| %> -
+
<%= message %>
diff --git a/dump.rdb b/dump.rdb index 229959018b5ee64f15522772b00dd62167e6b492..fe3ccbe5c36aafe424a8bd1a3aaf937d324637e0 100644 GIT binary patch literal 18814 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 q^RRQZT-|}&tuV4dyA#ZQg(yThp56K1A#V28)K5