diff --git a/app/models/topic.rb b/app/models/topic.rb index 33b3160e391..b5c95d9ceaf 100644 --- a/app/models/topic.rb +++ b/app/models/topic.rb @@ -426,11 +426,7 @@ class Topic < ActiveRecord::Base invite = Invite.create(invited_by: invited_by, email: lower_email) unless invite.valid? - # If the email already exists, grant permission to that user - if invite.email_already_exists and private_message? - user = User.where(email: lower_email).first - topic_allowed_users.create!(user_id: user.id) - end + grant_permission_to_user if email_already_exists_for?(invite) return end @@ -444,6 +440,15 @@ class Topic < ActiveRecord::Base invite end + def email_already_exists_for?(invite) + invite.email_already_exists and private_message? + end + + def grant_permission_to_user + User.where(email: lower_email).first + topic_allowed_users.create!(user_id: user.id) + end + def max_post_number posts.maximum(:post_number).to_i end