about summary refs log tree commit diff
path: root/app/policies/status_policy.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-05-02 15:50:20 +0200
committerGitHub <noreply@github.com>2018-05-02 15:50:20 +0200
commitf62539ce5c106e27a371702d499ec4df52eccde6 (patch)
treec5871c1d1cec0d68e35d3394659bffbead2bb0f9 /app/policies/status_policy.rb
parentc5dcd7d836d53ede4751405ec5701f9f3b48102c (diff)
Remove most behaviour disparities between blocks and mutes (#7231)
* Remove most behaviour disparities between blocks and mutes

The only differences between block and mute should be:

- Mutes can optionally NOT affect notifications
- Mutes should not be visible to the muted

Fix #7230
Fix #5713

* Do not allow boosting someone you blocked

Fix #7248

* Do not allow favouriting someone you blocked

* Fix nil error in StatusPolicy
Diffstat (limited to 'app/policies/status_policy.rb')
-rw-r--r--app/policies/status_policy.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/app/policies/status_policy.rb b/app/policies/status_policy.rb
index 5573289b6..4145d7e9c 100644
--- a/app/policies/status_policy.rb
+++ b/app/policies/status_policy.rb
@@ -16,7 +16,11 @@ class StatusPolicy < ApplicationPolicy
   end
 
   def reblog?
-    !direct? && (!private? || owned?) && show?
+    !direct? && (!private? || owned?) && show? && !current_account&.blocking?(author)
+  end
+
+  def favourite?
+    show? && !current_account&.blocking?(author)
   end
 
   def destroy?