about summary refs log tree commit diff
path: root/app/models/domain_block.rb
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2019-05-03 20:36:36 +0200
committerEugen Rochko <eugen@zeonfederated.com>2019-05-03 20:36:36 +0200
commit011b032300657ccca4a42866749afc6ec2588ecc (patch)
treec4bd2af00b5cf2c2803d363442cde5c2b28896c9 /app/models/domain_block.rb
parenteb63217210b0ab85ff1fcca9506d5e7931382a56 (diff)
Provide a link to existing domain block when trying to block an already-blocked domain (#10663)
* When trying to block an already-blocked domain, provide a link to the block

* Fix styling for links in flash messages

* Allow blocks to be upgraded but not downgraded
Diffstat (limited to 'app/models/domain_block.rb')
-rw-r--r--app/models/domain_block.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/models/domain_block.rb b/app/models/domain_block.rb
index 069cda367..0b12617c6 100644
--- a/app/models/domain_block.rb
+++ b/app/models/domain_block.rb
@@ -29,4 +29,11 @@ class DomainBlock < ApplicationRecord
   def self.blocked?(domain)
     where(domain: domain, severity: :suspend).exists?
   end
+
+  def stricter_than?(other_block)
+    return true if suspend?
+    return false if other_block.suspend? && (silence? || noop?)
+    return false if other_block.silence? && noop?
+    (reject_media || !other_block.reject_media) && (reject_reports || !other_block.reject_reports)
+  end
 end