diff --git a/app/models/topic.rb b/app/models/topic.rb index 3e79e2c3399..6a7e3504872 100644 --- a/app/models/topic.rb +++ b/app/models/topic.rb @@ -436,11 +436,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(lower_email) if email_already_exists_for?(invite) return end @@ -454,6 +450,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(lower_email) + 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