Sha256: 6f2a87fa4ef54506435c4641c8a5f0b8d7ff913ebe1f4d2f61eea0b9c112296b

Contents?: true

Size: 1.39 KB

Versions: 13

Compression:

Stored size: 1.39 KB

Contents

# frozen_string_literal: true
module ThinkFeelDoEngine
  module Users
    # Extends the Devise controller to notify users
    # if they don't have a role
    class SessionsController < Devise::SessionsController
      layout "application"

      skip_authorization_check

      # Ignoring cops due to external code use.
      # rubocop:disable Metrics/LineLength
      # rubocop:disable Metrics/CyclomaticComplexity
      # rubocop:disable Metrics/PerceivedComplexity
      def create
        user = User.find_by_email params[:user][:email]
        if user && !user.admin? && user.user_roles.count == 0
          msg = "We're sorry, but you need to have a role to continue.\
                Contact your administrator."
          redirect_to new_user_session_path, alert: msg
        else
          # super...http://bit.ly/1uXh4rb
          self.resource = warden.authenticate!(auth_options)
          set_flash_message(:notice, :signed_in) if is_flashing_format?
          sign_in(resource_name, resource)
          yield resource if block_given?
          respond_with resource,
                       location:
                         (defined?(think_feel_do_dashboard) ? think_feel_do_dashboard.root_path : privacy_policy_path)
        end
        # rubocop:enable Metrics/CyclomaticComplexity
        # rubocop:enable Metrics/PerceivedComplexity
        # rubocop:enable Metrics/LineLength
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
think_feel_do_engine-3.22.9 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.22.8 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.22.7 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.22.6 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.22.5 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.22.4 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.22.2 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.22.1 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.22.0 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.21.2 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.21.1 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.21.0 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.20.1 app/controllers/think_feel_do_engine/users/sessions_controller.rb