diff options
author | multiple creatures <dev@multiple-creature.party> | 2019-11-17 03:10:27 -0600 |
---|---|---|
committer | multiple creatures <dev@multiple-creature.party> | 2019-11-17 03:10:27 -0600 |
commit | 81c2b3e2400c67f638efdd15c1c4a060e65e3d23 (patch) | |
tree | a12ccbb1e17f649ffa48e39b5c011fe6b3ea63ff /app | |
parent | 5ab70ad962481a2169593b81d15f86d1ea99653d (diff) |
When domain policies are created or updated, set the `processing` flag from the model instead of from the controller.
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/admin/domain_blocks_controller.rb | 1 | ||||
-rw-r--r-- | app/models/domain_block.rb | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/app/controllers/admin/domain_blocks_controller.rb b/app/controllers/admin/domain_blocks_controller.rb index 63c2f3eee..859bdd6d3 100644 --- a/app/controllers/admin/domain_blocks_controller.rb +++ b/app/controllers/admin/domain_blocks_controller.rb @@ -46,7 +46,6 @@ module Admin def update return destroy unless resource_params[:undo].to_i.zero? resource_params[:reason].strip! if resource_params[:reason].present? - resource_params[:processing] = true authorize @domain_block, :update? @domain_block.update(resource_params.except(:domain, :undo)) if @domain_block.save diff --git a/app/models/domain_block.rb b/app/models/domain_block.rb index 478095cb0..f7a87b443 100644 --- a/app/models/domain_block.rb +++ b/app/models/domain_block.rb @@ -29,6 +29,8 @@ class DomainBlock < ApplicationRecord scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) } scope :unprocessed, -> { where(processing: true) } + before_create :set_processing + def self.blocked?(domain) where(domain: domain, severity: :suspend).exists? end @@ -63,4 +65,11 @@ class DomainBlock < ApplicationRecord def undo return false end + + private + + def set_processing + return if processing + self.processing = true + end end |