Sha256: 9536c9e673c25785b065d6198e8736dc73947ae85445e432bf0c3dd4e885b583

Contents?: true

Size: 788 Bytes

Versions: 1

Compression:

Stored size: 788 Bytes

Contents

require_dependency "brightcontent/application_controller"

module Brightcontent
  class SessionsController < ApplicationController
    skip_before_action :authorize

    def new
      redirect_after_login if current_user
    end

    def create
      user = Brightcontent.user_model.authenticate(params[:email], params[:password])
      if user
        session[:brightcontent_user_id] = user.id
        redirect_after_login
      else
        flash.now[:danger] = "Email or password is invalid"
        render :new
      end
    end

    def destroy
      session[:brightcontent_user_id] = nil
      session[:return_to] = nil
      redirect_to root_url
    end

    private

    def redirect_after_login
      redirect_to session.delete(:return_to).presence || root_url
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
brightcontent-core-2.6.0 app/controllers/brightcontent/sessions_controller.rb