From 2ce3d14cfa77f985b6849dd4431db65e9abd0226 Mon Sep 17 00:00:00 2001 From: Aya Jaff Date: Fri, 4 Sep 2015 14:01:49 +0200 Subject: Fixed the signup bug that wrongly consumes the invite code. --- app/models/account.rb | 5 ++++- app/models/invite_code_validator.rb | 4 ---- 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'app/models') diff --git a/app/models/account.rb b/app/models/account.rb index a57e3f7..c398d93 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -19,8 +19,8 @@ class Account identity = nil user = nil user = User.new(attrs) - user.save + if !user.tmp? && user.persisted? identity = user.identity identity.user_id = user.id @@ -28,6 +28,9 @@ class Account identity.errors.each do |attr, msg| user.errors.add(attr, msg) end + user_invite_code = InviteCode.find_by_invite_code user.invite_code + user_invite_code.invite_count += 1 + user_invite_code.save end rescue StandardError => ex user.errors.add(:base, ex.to_s) if user diff --git a/app/models/invite_code_validator.rb b/app/models/invite_code_validator.rb index d03d510..127dc57 100644 --- a/app/models/invite_code_validator.rb +++ b/app/models/invite_code_validator.rb @@ -8,10 +8,6 @@ class InviteCodeValidator < ActiveModel::Validator elsif count_greater_than_zero?(user_invite_code.invite_count) add_error_to_user("This code has already been used", user) - - else - user_invite_code.invite_count += 1 - user_invite_code.save end end -- cgit v1.2.3