about summary refs log tree commit diff
diff options
context:
space:
mode:
authormultiple creatures <dev@multiple-creature.party>2020-01-14 02:16:13 -0600
committermultiple creatures <dev@multiple-creature.party>2020-01-14 02:42:31 -0600
commit0ce978a11ddd827334ac7bb96afb88ff9ecf95d5 (patch)
treec9bda5b2925909add81cd7a84aafc3df01171165
parenta9c30694cd8edf767fa141cc46d2af2f76ac824e (diff)
behave like `block anon` when checking whether local users can read a community or public post made in invisible mode
-rw-r--r--app/policies/status_policy.rb10
1 files changed, 3 insertions, 7 deletions
diff --git a/app/policies/status_policy.rb b/app/policies/status_policy.rb
index 5f7c71342..311ecf5ed 100644
--- a/app/policies/status_policy.rb
+++ b/app/policies/status_policy.rb
@@ -19,7 +19,7 @@ class StatusPolicy < ApplicationPolicy
     if private?
       following_author? && still_accessible?
     else
-      author_allows_anon? && still_accessible? && !author_blocking? && (author_not_invisible? || following_author?)
+      author_allows_anon? && still_accessible? && !author_blocking? || following_author?
     end
   end
 
@@ -93,14 +93,10 @@ class StatusPolicy < ApplicationPolicy
 
   def still_accessible?
     return true unless record.local?
-    record.updated_at > record.account.user.max_public_access.to_i.days.ago
+    record.updated_at > record.account.user.max_public_access.days.ago
   end
 
   def author_allows_anon?
-    (!current_account.nil? && user_signed_in?) || !record.account.block_anon
-  end
-
-  def author_not_invisible?
-    !record.account.hidden?
+    (!current_account.nil? && user_signed_in?) || (!record.account.block_anon && !record.account.hidden)
   end
 end