Sha256: 3c45f3571254f6f1a085bac65d38f5f2b7fee4bd66b75d7db24ec8ff01f0f648

Contents?: true

Size: 869 Bytes

Versions: 5

Compression:

Stored size: 869 Bytes

Contents

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

    def new
    end

    def create
      user = User.find_by(email: params[:session][:email].downcase)
      if user && user.authenticate(params[:session][: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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
exposition-0.0.5.2.pre.alpha app/controllers/exposition/admin/sessions_controller.rb
exposition-0.0.5.1.pre.alpha app/controllers/exposition/admin/sessions_controller.rb
exposition-0.0.5.pre.alpha app/controllers/exposition/admin/sessions_controller.rb
exposition-0.0.4.pre.alpha app/controllers/exposition/admin/sessions_controller.rb
exposition-0.0.3.pre.alpha app/controllers/exposition/admin/sessions_controller.rb