Sha256: 22659c40290ff07e8c5f3920241a79281836c79832becdb9909f4c2f57e1d66d

Contents?: true

Size: 1.36 KB

Versions: 55

Compression:

Stored size: 1.36 KB

Contents

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

55 entries across 55 versions & 1 rubygems

Version Path
think_feel_do_engine-3.19.9 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.19.8 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.19.7 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.19.6 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.19.5 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.19.4 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.19.3 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.19.2 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.19.1 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.19.0 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.18.0 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.17.2 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.17.1 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.17.0 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.16.3 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.16.2 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.16.1 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.15.7 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.16.0 app/controllers/think_feel_do_engine/users/sessions_controller.rb
think_feel_do_engine-3.15.6 app/controllers/think_feel_do_engine/users/sessions_controller.rb