From 9981257880447a61a7b4462ac442a35e578ab8ad Mon Sep 17 00:00:00 2001
From: Sam <sam.saffron@gmail.com>
Date: Thu, 26 Feb 2015 14:05:44 +1100
Subject: [PATCH] FIX: only add user to invited groups once

---
 app/models/invite_redeemer.rb | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/app/models/invite_redeemer.rb b/app/models/invite_redeemer.rb
index 4f1eb5663..1b93d5849 100644
--- a/app/models/invite_redeemer.rb
+++ b/app/models/invite_redeemer.rb
@@ -88,8 +88,9 @@ InviteRedeemer = Struct.new(:invite, :username, :name) do
   end
 
   def add_user_to_groups
-    invite.groups.each do |g|
-      invited_user.group_users.create(group_id: g.id)
+    new_group_ids = invite.groups.pluck(:id) - invited_user.group_users.pluck(:group_id)
+    new_group_ids.each do |id|
+      invited_user.group_users.create(group_id: id)
     end
   end