Class: Users::RegistrationsController
- Inherits:
-
Devise::RegistrationsController
- Object
- Devise::RegistrationsController
- Users::RegistrationsController
- Defined in:
- /var/apps/qpixel/app/controllers/users/registrations_controller.rb
Instance Method Summary collapse
Instance Method Details
#create ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File '/var/apps/qpixel/app/controllers/users/registrations_controller.rb', line 8 def create super do |user| unless user.errors.any? rate_limit = AppConfig.server_settings['registration_rate_limit'] ip_list = [user.current_sign_in_ip, request.remote_ip].compact previous_ip_users = User.where(current_sign_in_ip: ip_list).or(User.where(last_sign_in_ip: ip_list)) .where(created_at: rate_limit.seconds.ago..DateTime.now) .where.not(id: user.id) if previous_ip_users.empty? user. user.ensure_websites else user.delete flash[:danger] = 'You cannot create an account right now because of the volume of accounts originating ' \ 'from your network. Try again later.' end end end end |
#delete ⇒ Object
28 29 30 |
# File '/var/apps/qpixel/app/controllers/users/registrations_controller.rb', line 28 def delete @user = current_user end |
#do_delete ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File '/var/apps/qpixel/app/controllers/users/registrations_controller.rb', line 32 def do_delete @user = current_user if @user.admin? @user.errors.add(:base, I18n.t('users.errors.no_admin_self_delete')) render :delete elsif @user.moderator? @user.errors.add(:base, I18n.t('users.errors.no_mod_self_delete')) render :delete elsif @user.enabled_2fa @user.errors.add(:base, I18n.t('users.errors.no_2fa_self_delete')) render :delete elsif params[:username] != @user.username @user.errors.add(:base, I18n.t('users.errors.self_delete_wrong_username')) render :delete else UserMailer.with(user: @user, host: RequestContext.community.host, community: RequestContext.community) .deletion_confirmation.deliver_later @user.soft_delete(@user) flash[:info] = 'Sorry to see you go!' redirect_to root_path end end |