From d74d5c47ad06fc954bd687aae5dd7bd09d5e7cc2 Mon Sep 17 00:00:00 2001
From: Sam <sam.saffron@gmail.com>
Date: Tue, 25 Aug 2015 09:25:39 +1000
Subject: [PATCH] FIX: admin not getting updates for topics in secure groups

(only where admin is missing explicit permissions)
---
 config/initializers/04-message_bus.rb | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/config/initializers/04-message_bus.rb b/config/initializers/04-message_bus.rb
index b8d67a096..00bf806d4 100644
--- a/config/initializers/04-message_bus.rb
+++ b/config/initializers/04-message_bus.rb
@@ -17,7 +17,12 @@ end
 
 MessageBus.group_ids_lookup do |env|
   user = CurrentUser.lookup_from_env(env)
-  user.groups.select('groups.id').map{|g| g.id} if user
+  if user && user.admin?
+    # special rule, admin is allowed access to all groups
+    Group.pluck(:id)
+  elsif user
+    user.groups.pluck('groups.id')
+  end
 end
 
 MessageBus.on_connect do |site_id|