diff --git a/app/jobs/regular/automatic_group_membership.rb b/app/jobs/regular/automatic_group_membership.rb index d49d5b379..0b4488371 100644 --- a/app/jobs/regular/automatic_group_membership.rb +++ b/app/jobs/regular/automatic_group_membership.rb @@ -13,7 +13,7 @@ module Jobs domains = group.automatic_membership_email_domains.gsub('.', '\.') - User.where("email ~* '@(#{domains})'").find_each do |user| + User.where("email ~* '@(#{domains})$'").find_each do |user| group.add(user) rescue ActiveRecord::RecordNotUnique end end diff --git a/app/models/user.rb b/app/models/user.rb index 64e9749be..b90c5544d 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -721,7 +721,7 @@ class User < ActiveRecord::Base .where("LENGTH(COALESCE(automatic_membership_email_domains, '')) > 0") .each do |group| domains = group.automatic_membership_email_domains.gsub('.', '\.') - if self.email =~ Regexp.new("@(#{domains})", true) + if self.email =~ Regexp.new("@(#{domains})$", true) group.add(self) rescue ActiveRecord::RecordNotUnique end end