Sha256: 3772b37cefba2d867ae3db89bceae6048b4c7061121f5df28c09b1d59a1cd175

Contents?: true

Size: 718 Bytes

Versions: 5

Compression:

Stored size: 718 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Devise
    # Custom Devise SessionsController to avoid namespace problems.
    class SessionsController < ::Devise::SessionsController
      include Decidim::DeviseControllers

      def after_sign_in_path_for(user)
        if first_login_and_not_authorized?(user) && !user.admin?
          decidim_verifications.first_login_authorizations_path
        else
          super
        end
      end

      def first_login_and_not_authorized?(user)
        user.is_a?(User) && user.sign_in_count == 1 && current_organization.available_authorizations.any?
      end

      def after_sign_out_path_for(user)
        request.referer || super
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
decidim-core-0.8.4 app/controllers/decidim/devise/sessions_controller.rb
decidim-core-0.8.3 app/controllers/decidim/devise/sessions_controller.rb
decidim-core-0.8.2 app/controllers/decidim/devise/sessions_controller.rb
decidim-core-0.8.1 app/controllers/decidim/devise/sessions_controller.rb
decidim-core-0.8.0 app/controllers/decidim/devise/sessions_controller.rb