Sha256: 89f0bc6e9be8ce575b4a78154ae076d88f19dcadb413260b5a7245ebd6891e9b

Contents?: true

Size: 963 Bytes

Versions: 5

Compression:

Stored size: 963 Bytes

Contents

# frozen_string_literal: true

module EacRailsBase0
  class ApplicationController < ActionController::Base
    include ::CanCanDry::ControllerAuthorization

    layout 'eac_rails_base0/application'
    helper ::EacRailsBase0::LayoutHelper

    # Prevent CSRF attacks by raising an exception.
    # For APIs, you may want to use :null_session instead.
    protect_from_forgery with: :exception

    before_action :authorize_by_ability_mapping

    rescue_from CanCan::AccessDenied do |exception|
      if current_user
        flash[:error] = "Conteúdo indisponível: #{exception}"
        redirect_to main_app.root_url
      else
        flash[:danger] = 'Por favor faça o login.'
        redirect_to eac_users_support.new_user_session_path
      end
    end

    class << self
      def active_scaffold_controller_for(klass)
        return ::EacUsersSupport::Admin::UsersController if klass == ::EacUsersSupport::User

        super
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
eac_rails_base0-0.15.2 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.15.1 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.15.0 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.14.0 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.13.2 app/controllers/eac_rails_base0/application_controller.rb