Sha256: 0aee2fd4c0dca1921c85a51f5e978cb6eb7d7fe287df7c21163d797c86e5ac20

Contents?: true

Size: 1.52 KB

Versions: 21

Compression:

Stored size: 1.52 KB

Contents

# frozen_string_literal: true

require "active_support/concern"

module Decidim
  # This concern groups methods and helpers needed by Devise controllers.
  module DeviseControllers
    extend ActiveSupport::Concern

    RegistersPermissions
      .register_permissions(::Decidim::DeviseControllers,
                            ::Decidim::Admin::Permissions,
                            ::Decidim::Permissions)

    included do
      include Decidim::NeedsOrganization
      include Decidim::LocaleSwitcher
      include ImpersonateUsers
      include NeedsPermission
      include Decidim::SafeRedirect
      include NeedsSnippets
      include UserBlockedChecker

      helper Decidim::TranslationsHelper
      helper Decidim::MetaTagsHelper
      helper Decidim::DecidimFormHelper
      helper Decidim::LanguageChooserHelper
      helper Decidim::CookiesHelper
      helper Decidim::ReplaceButtonsHelper
      helper Decidim::LayoutHelper
      helper Decidim::MenuHelper
      helper Decidim::OmniauthHelper
      helper Decidim::CacheHelper

      layout "layouts/decidim/application"

      # Saves the location before loading each page so we can return to the
      # right page.
      before_action :store_current_location

      def permission_class_chain
        PermissionsRegistry.chain_for(DeviseControllers)
      end

      def permission_scope
        :public
      end

      def store_current_location
        return if redirect_url.blank? || !request.format.html?

        store_location_for(:user, redirect_url)
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
decidim-core-0.26.10 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.26.9 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.26.8 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.26.7 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.26.5 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.26.4 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.26.3 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.26.2 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.26.1 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.26.0 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.26.0.rc2 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.26.0.rc1 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.25.2 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.25.1 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.25.0 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.25.0.rc4 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.25.0.rc3 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.25.0.rc2 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.25.0.rc1 app/controllers/concerns/decidim/devise_controllers.rb
decidim-core-0.24.3 app/controllers/concerns/decidim/devise_controllers.rb