From 81c2b3e2400c67f638efdd15c1c4a060e65e3d23 Mon Sep 17 00:00:00 2001 From: multiple creatures Date: Sun, 17 Nov 2019 03:10:27 -0600 Subject: When domain policies are created or updated, set the `processing` flag from the model instead of from the controller. --- app/controllers/admin/domain_blocks_controller.rb | 1 - app/models/domain_block.rb | 9 +++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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 -- cgit