Skip to content
Extraits de code Groupes Projets
registrations_controller.rb 2,01 ko
Newer Older
  • Learn to ignore specific revisions
  • danielgrippi's avatar
    danielgrippi a validé
    #   Copyright (c) 2010-2011, Diaspora Inc.  This file is
    
    Raphael's avatar
    Raphael a validé
    #   licensed under the Affero General Public License version 3 or later.  See
    
    #   the COPYRIGHT file.
    
    class RegistrationsController < Devise::RegistrationsController
    
      before_filter :check_registrations_open_or_vaild_invite!, :check_valid_invite!
    
      layout ->(c) { request.format == :mobile ? "application" : "with_header" }, :only => [:new]
    
      before_filter -> { @css_framework = :bootstrap }, only: [:new]
    
        @user = User.build(user_params)
    
        @user.process_invite_acceptence(invite) if invite.present?
    
    
          flash[:notice] = I18n.t 'registrations.create.success'
    
          sign_in_and_redirect(:user, @user)
    
          Rails.logger.info("event=registration status=successful user=#{@user.diaspora_handle}")
    
          @user.errors.delete(:person)
    
    movilla's avatar
    movilla a validé
          flash[:error] = @user.errors.full_messages.join(" - ")
    
          Rails.logger.info("event=registration status=failure errors='#{@user.errors.full_messages.join(', ')}'")
    
    Jonne Haß's avatar
    Jonne Haß a validé
        return true if AppConfig.settings.enable_registrations? #this sucks
    
        return true if invite && invite.can_be_used?
    
        flash[:error] = t('registrations.invalid_invite')
        redirect_to new_user_session_path
      end
    
    
      def check_registrations_open_or_vaild_invite!
        return true if invite.present?
    
    Jonne Haß's avatar
    Jonne Haß a validé
        unless AppConfig.settings.enable_registrations?
    
          flash[:error] = t('registrations.closed')
    
          redirect_to new_user_session_path
    
    
      def invite
        if params[:invite].present?
          @invite ||= InvitationCode.find_by_token(params[:invite][:token])
        end
      end
    
      helper_method :invite
    
    
      def user_params
        params.require(:user).permit(:username, :email, :getting_started, :password, :password_confirmation, :language, :disable_mail, :invitation_service, :invitation_identifier, :show_community_spotlight_in_stream, :auto_follow_back, :auto_follow_back_aspect_id, :remember_me)
      end