From f743bc6e745073eb87064fd2fe7679e58dd79d3d Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 14 Aug 2015 17:50:24 +1000 Subject: [PATCH] stop adding users to a group if they are already in the group --- app/jobs/regular/automatic_group_membership.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/jobs/regular/automatic_group_membership.rb b/app/jobs/regular/automatic_group_membership.rb index b849b018b29..738d0db4ead 100644 --- a/app/jobs/regular/automatic_group_membership.rb +++ b/app/jobs/regular/automatic_group_membership.rb @@ -13,7 +13,9 @@ module Jobs domains = group.automatic_membership_email_domains.gsub('.', '\.') - User.where("email ~* '@(#{domains})$'").find_each do |user| + User.where("email ~* '@(#{domains})$' and users.id not in ( + select user_id from group_users where group_users.group_id = ? + )", group_id).find_each do |user| begin group.add(user) rescue ActiveRecord::RecordNotUnique, PG::UniqueViolation