Sha256: e92628dfd89ca55a64acfaa0b2916863e453b265aa18be1173b7cbd786320a76

Contents?: true

Size: 1.37 KB

Versions: 11

Compression:

Stored size: 1.37 KB

Contents

# frozen_string_literal: true

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

    layout 'eac_rails_base0/application'
    helper ::EacRailsBase0::AppVersionHelper
    helper ::EacRailsBase0::LayoutHelper
    helper ::EacRailsBase0::MainMenuHelper
    helper ::EacRailsUtils::FormatterHelper
    helper ::EacRailsUtils::LinksHelper
    helper ::EacRailsUtils::OpenGraphProtocolHelper
    helper ::EacRailsBase0::UserMenuHelper

    # 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.'
        store_location_for(::EacUsersSupport::User, request.fullpath)
        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

    def after_sign_in_path_for(resource)
      stored_location_for(resource) || root_path
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
eac_rails_base0-0.55.1 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.55.0 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.54.0 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.53.0 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.52.3 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.52.2 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.52.1 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.52.0 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.51.0 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.50.0 app/controllers/eac_rails_base0/application_controller.rb
eac_rails_base0-0.49.0 app/controllers/eac_rails_base0/application_controller.rb