qomoteam/qomo

View on GitHub
app/controllers/users/registrations_controller.rb

Summary

Maintainability
A
35 mins
Test Coverage
class Users::RegistrationsController < Devise::RegistrationsController
# before_filter :configure_sign_up_params, only: [:create]
# before_filter :configure_account_update_params, only: [:update]

  layout 'security'

  include Cas

  # GET /resource/sign_up
  def new
    super do |resource|
      resource.build_profile
    end
  end

  # POST /resource
  def create
    build_resource(sign_up_params)

    if verify_rucaptcha?(resource)
      resource.save
    end

    yield resource if block_given?
    if resource.persisted?
      if resource.active_for_authentication?
        set_flash_message! :notice, :signed_up
        sign_up(resource_name, resource)
        respond_with resource, location: after_sign_up_path_for(resource)
      else
        set_flash_message! :notice, :"signed_up_but_#{resource.inactive_message}"
        expire_data_after_sign_in!
        respond_with resource, location: after_inactive_sign_up_path_for(resource)
      end
    else
      clean_up_passwords resource
      set_minimum_password_length
      respond_with resource
    end
  end

  def update_login
    current_user.update_attributes params[:user].permit(:email)
    redirect_to edit_user_registration_path
  end

  def resend_confirmation_email
    current_user.resend_confirmation_instructions
    redirect_to edit_user_registration_path
  end

  def cancel_update_email
    current_user.update_attributes unconfirmed_email: nil, confirmation_token: nil
    redirect_to edit_user_registration_path
  end

  # GET /resource/edit
  # def edit
  #   super
  # end

  # PUT /resource
  def update
    super
  end

  # DELETE /resource
  # def destroy
  #   super
  # end

  # GET /resource/cancel
  # Forces the session data which is usually expired after sign
  # in to be expired now. This is useful if the user wants to
  # cancel oauth signing in/up in the middle of the process,
  # removing all OAuth session data.
  # def cancel
  #   super
  # end

  protected

  # If you have extra params to permit, append them to the sanitizer.
  # def configure_sign_up_params
  #   devise_parameter_sanitizer.for(:sign_up) << :attribute
  # end

  # If you have extra params to permit, append them to the sanitizer.
  # def configure_account_update_params
  #   devise_parameter_sanitizer.for(:account_update) << :attribute
  # end

  # The path used after sign up.
  def after_sign_up_path_for(resource)
    super(resource)
  end

  # The path used after sign up for inactive accounts.
  def after_inactive_sign_up_path_for(resource)
    new_user_session_path(cas_params)
  end
end