Skip to content
Extraits de code Groupes Projets
domain_blocks_controller.rb 1,35 ko
Newer Older
  • Learn to ignore specific revisions
  • Eugen Rochko's avatar
    Eugen Rochko a validé
    # frozen_string_literal: true
    
    
    module Admin
      class DomainBlocksController < BaseController
    
        before_action :set_domain_block, only: [:show, :destroy]
    
    
        def new
    
          authorize :domain_block, :create?
    
          @domain_block = DomainBlock.new(domain: params[:_domain])
    
        def create
    
          @domain_block = DomainBlock.new(resource_params)
    
          if @domain_block.save
            DomainBlockWorker.perform_async(@domain_block.id)
    
            log_action :create, @domain_block
    
            redirect_to admin_instances_path(limited: '1'), notice: I18n.t('admin.domain_blocks.created_msg')
    
        def show
          authorize @domain_block, :show?
        end
    
          authorize @domain_block, :destroy?
    
          UnblockDomainService.new.call(@domain_block, retroactive_unblock?)
    
          log_action :destroy, @domain_block
    
          redirect_to admin_instances_path(limited: '1'), notice: I18n.t('admin.domain_blocks.destroyed_msg')
    
        private
    
        def set_domain_block
          @domain_block = DomainBlock.find(params[:id])
        end
    
    
        def resource_params
    
          params.require(:domain_block).permit(:domain, :severity, :reject_media, :reject_reports, :retroactive)
    
    
        def retroactive_unblock?
    
          ActiveRecord::Type.lookup(:boolean).cast(resource_params[:retroactive])
    
    Eugen Rochko's avatar
    Eugen Rochko a validé
      end
    end