Sha256: 28b859fa14709b263c498a7bedc0ed7e89c5a59438d08b395a35f744ee263349

Contents?: true

Size: 990 Bytes

Versions: 1

Compression:

Stored size: 990 Bytes

Contents

module HyperKittenMeow
  module Admin
    class SessionsController < AdminController
      skip_before_action :authorize, only: [:new, :create]

      def new
      end

      def create
        permitted = params.require(:session).permit([:email, :password])
        user = User.find_by(email: permitted[:email].downcase)
        if user && user.authenticate(permitted[:password])
          # Log the user in and redirect to the user's show page.

          user.set_encrypted_remember_token!
          session[:user_id] = user.id
          cookies.permanent.signed[:user_id] = user.id
          cookies.permanent[:remember_token] = user.remember_token
          redirect_to admin_posts_path
        else
          flash.now[:error] = t("sessions.failed_login")
          render 'new'
        end
      end

      def destroy
        session.delete(:user_id)
        cookies.delete(:user_id)
        cookies.delete(:remember_token)
        redirect_to root_url
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hyper-kitten-meow-0.1.2 app/controllers/hyper_kitten_meow/admin/sessions_controller.rb