Sha256: 8b8a96872073a1af100fe28bdc9572df718820393cee6042c8eb9306830fb10a

Contents?: true

Size: 825 Bytes

Versions: 1

Compression:

Stored size: 825 Bytes

Contents

# frozen_string_literal: true
module SlashAdmin
  module Security
    class SessionsController < ActionController::Base
      protect_from_forgery with: :exception

      layout 'slash_admin/admin_user'

      def new; end

      def create
        admin = Admin.where('username = :value OR lower(email) = lower(:value)', value: params[:admin][:login]).first
        if admin&.authenticate(params[:admin][:password])
          session[:admin_id] = admin.id
          flash[:notice] = 'Vous êtes à présent connecté.'
          redirect_to slash_admin.dashboard_path
        else
          @error_messages = 'Merci de vérifier vos identifiants'
          render :new and return
        end
      end

      def destroy
        session[:admin_id] = nil
        redirect_to slash_admin.login_url
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
slash_admin-0.1.0 app/controllers/slash_admin/security/sessions_controller.rb