Sha256: 61eba9b1a622ac0f8981d3e69ddf05b205a126fa15be1e3288a436873e480d9f

Contents?: true

Size: 1.45 KB

Versions: 1

Compression:

Stored size: 1.45 KB

Contents

class Unico::SimilarityControlsController < ::CrudController
  defaults route_prefix: '', resource_class: ::SimilarityControl

  respond_to :json, only: :show

  def load_columns
    @columns = SimilarityTable.columns(params[:table])
  end

  def show
    render layout: 'report'
  end

  def create
    create! do |success, failure|
      success.html { redirect_to edit_resource_path(resource) }
      failure.html { render :new }
    end
  end

  def edit
    if resource.processing?
      render :processing
    elsif resource.processed?
      render :edit
    end
  end

  def update
    update! do |success, failure|
      success.html do
        if params[:agglutinate] == 'true'
          redirect_to inactivate_records_similarity_control_path(resource)
        else
          redirect_to edit_resource_path(resource)
        end
      end
      failure.html { render :edit }
    end
  end

  def destroy
    destroy! do |success, failure|
      success.html { redirect_to new_resource_path }
      failure.html { render :edit }
    end
  end

  def inactivate_records
    SimilarityControlAdjuster.inactivate!(resource)
    flash[:notice] = I18n.t('successfully_done')
    redirect_to edit_resource_path(resource)
  end

  protected

  def collection
    super.includes(:similarity_control_tables)
  end

  def create_resource(object)
    object.job_status = JobStatus::PROCESSING

    return unless super

    SimilarityControlWorker.perform_async(nil, object.id)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
unico-training-7.8.0 app/controllers/unico/similarity_controls_controller.rb