master
1class SessionsController < PublicController
2 def new
3 if current_user.present?
4 redirect_to dashboard_path
5 else
6 @user = User.new
7 end
8 end
9
10 def create
11 if user_session = User.login(
12 params[:user][:username],
13 params[:user][:password]
14 )
15 reset_session
16 session[:user_id] = user_session.access(request)
17 redirect_to dashboard_path
18 else
19 flash[:warning] = t("sessions.create.invalid_login")
20 redirect_to new_session_path
21 end
22 end
23
24 def destroy
25 UserSession.authenticate(session[:user_id]).try(:revoke!)
26 reset_session
27 redirect_to root_path
28 end
29end