diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 5ee57bb2..057f0c4f 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -72,13 +72,9 @@ def updated_params username: form_params[:username] }.compact - if form_params[:city_id] # rubocop:disable Style/IfUnlessModifier - params[:batch] = Batch.find_or_create_by(number: nil, city_id: form_params[:city_id]) - end - - if form_params[:referrer_code] # rubocop:disable Style/IfUnlessModifier - params[:referrer_id] = User.find_by_referral_code(form_params[:referrer_code])&.id.to_i - end + params[:batch] = nil if form_params[:batch_number] + params[:batch] = Batch.find_or_create_by(number: nil, city_id: form_params[:city_id]) if form_params[:city_id] + params[:referrer_id] = User.find_by_referral_code(form_params[:referrer_code])&.id.to_i if form_params[:referrer_code] params end @@ -88,6 +84,6 @@ def unlock_achievements end def form_params - params.require(:user).permit(:accepted_coc, :aoc_id, :entered_hardcore, :username, :city_id, :referrer_code) + params.require(:user).permit(:accepted_coc, :aoc_id, :entered_hardcore, :username, :batch_number, :city_id, :referrer_code) end end diff --git a/app/models/user.rb b/app/models/user.rb index 3f5b4a35..1964c3b9 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -27,7 +27,7 @@ class User < ApplicationRecord validates :aoc_id, uniqueness: { allow_nil: true } validates :username, presence: true - validate :city_cant_change + validate :batch_cant_change validate :not_referring_self validate :referrer_exists @@ -99,8 +99,8 @@ def referrer_code private - def city_cant_change - errors.add(:city, "can't change") if batch_changed? && batch_id_was.present? + def batch_cant_change + errors.add(:batch, " or City can't be changed") if batch_changed? && batch_id_was.present? end def not_referring_self