parsley/app/controllers/users_controller.rb
2016-01-21 11:45:46 -06:00

60 lines
1.2 KiB
Ruby

class UsersController < ApplicationController
before_filter :ensure_valid_user, except: [:login, :verify_login, :new, :create]
def login
end
def logout
set_current_user(nil)
session.destroy
flash[:notice] = "Logged out"
redirect_to root_path
end
def verify_login
if user = User.authenticate(params[:username], params[:password])
set_current_user(user)
flash[:notice] = "Welcome, #{user.display_name}"
redirect_to root_path
else
flash[:error] = "Invalid credentials"
render :login
end
end
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
set_current_user(@user)
redirect_to root_path, notice: 'User was successfully created.'
else
render action: :new
end
end
def edit
@user = current_user
end
def update
@user = current_user
if @user.update(user_params)
redirect_to root_path, notice: 'User account updated'
else
render action: 'edit'
end
end
private
def user_params
params.require(:user).permit(:username, :email, :full_name, :password, :password_confirmation)
end
end