From 67285d810733db5f51a70b8d32ba1e5995db0902 Mon Sep 17 00:00:00 2001 From: benji Date: Fri, 20 Mar 2015 04:20:39 +0100 Subject: [PATCH] Add logout button for sessions --- app/controllers/user_avatar_controller.rb | 8 +++++++- app/views/layouts/_header.html.erb | 2 ++ db/seeds.rb | 20 ++++++++++---------- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/app/controllers/user_avatar_controller.rb b/app/controllers/user_avatar_controller.rb index 4209f3e..3f4679a 100644 --- a/app/controllers/user_avatar_controller.rb +++ b/app/controllers/user_avatar_controller.rb @@ -13,11 +13,17 @@ class UserAvatarController < ApplicationController end end + def destroy + reset_session + redirect_to root_path + end + private def authenticate_session_user! redirect_to root_path unless session[:id] - @user = User.find session[:id] + @user = User.find_by session[:id] + reset_session unless @user end def user_params diff --git a/app/views/layouts/_header.html.erb b/app/views/layouts/_header.html.erb index c8752ee..9f8abfa 100644 --- a/app/views/layouts/_header.html.erb +++ b/app/views/layouts/_header.html.erb @@ -17,6 +17,8 @@
<% if user_signed_in? %> <%= button_to "Logout", destroy_user_session_path, class: "btn btn-default form-control", method: :delete %> + <% elsif session[:id] %> + <%= button_to "Logout", user_avatar_path(session[:id]), class: "btn btn-default form-control", method: :delete %> <% else %> <%= link_to "Login", new_user_session_path, class: "btn btn-success form-control" %> <% end %> diff --git a/db/seeds.rb b/db/seeds.rb index a79bce8..80b8d7e 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -37,37 +37,38 @@ end users = [ { - nickname: 'admin', + uid: 'admin', avatar: File.new('public/seeds/users/admin.jpg', 'r'), admin: true }, { - nickname: 'koelkast', + uid: 'koelkast', avatar: File.new('public/seeds/users/admin.jpg', 'r'), koelkast: true }, { - nickname: 'benji', + uid: 'benji', avatar: File.new('public/seeds/users/benji.jpg', 'r'), - dagschotel: Product.first + dagschotel: Product.first, + provider: 'zeuswpi' }, { - nickname: 'don', + uid: 'don', avatar: File.new('public/seeds/users/don.jpg', 'r') }, { - nickname: 'silox', + uid: 'silox', avatar: File.new('public/seeds/users/silox.jpg', 'r') } ] users.each do |attr| User.create( - nickname: attr[:nickname], + uid: attr[:uid], + provider: attr[:provider], avatar: attr[:avatar], dagschotel: attr[:dagschotel], password: DEFAULT_PASSWORD, - password_confirmation: DEFAULT_PASSWORD, admin: attr[:admin] || false, koelkast: attr[:koelkast] || false ) @@ -75,9 +76,8 @@ end 50.times do |i| User.create( - nickname: "testUser#{i}", + uid: "testUser#{i}", avatar: users[0][:avatar], password: DEFAULT_PASSWORD, - password_confirmation: DEFAULT_PASSWORD ) end