From 6eaaf6714cd145c64098bdab4f6a7c97362a5174 Mon Sep 17 00:00:00 2001
From: Sam <sam.saffron@gmail.com>
Date: Tue, 5 Aug 2014 14:37:28 +1000
Subject: [PATCH] FIX: logic for can_see_topic?

---
 lib/guardian/topic_guardian.rb | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/guardian/topic_guardian.rb b/lib/guardian/topic_guardian.rb
index 13c90b47e1f..8dc5b27c5ff 100644
--- a/lib/guardian/topic_guardian.rb
+++ b/lib/guardian/topic_guardian.rb
@@ -59,10 +59,13 @@ module TopicGuardian
     # Deleted topics
     return false if topic.deleted_at && !can_see_deleted_topics?
 
+    if topic.private_message?
+      return authenticated? &&
+             topic.all_allowed_users.where(id: @user.id).exists?
+    end
+
     # not secure, or I can see it
-    (not(topic.read_restricted_category?) || can_see_category?(topic.category)) &&
-    # not private, or I am allowed (or is staff)
-    (not(topic.private_message?) || (authenticated? && (is_admin? || topic.all_allowed_users.where(id: @user.id).exists?)))
+    !topic.read_restricted_category? || can_see_category?(topic.category)
 
   end
 end