SpeciesFileGroup/taxonworks

View on GitHub
app/controllers/tasks/dwca_import/dwca_import_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
class Tasks::DwcaImport::DwcaImportController < ApplicationController
  include TaskControllerConfiguration

  after_action -> { set_pagination_headers(:datasets) }, only: [:index], if: :json_request?

  # GET
  def index
    respond_to do |format|
      format.html
      format.json {
        @datasets = ImportDataset::DarwinCore
          .where(project_id: sessions_current_project_id)
          .order(:updated_at, :description)
          .page(params[:page]).per(params[:per] || 25)
      }
    end
  end

  # POST
  def upload
  end

  # POST
  def set_import_settings
    import_dataset = ImportDataset::DarwinCore.find(params[:import_dataset_id])
    settings = import_dataset.set_import_settings(params[:import_settings])
    import_dataset.save!

    render json: settings
  end

  # POST
  def update_catalog_number_namespace
    ImportDataset::DarwinCore::Occurrences
      .find(params[:import_dataset_id])
      .update_catalog_number_namespace(params[:institutionCode], params[:collectionCode], params[:namespace_id])

    render json: {success: true}
  end

  # POST
  def update_catalog_number_collection_code_namespace
    ImportDataset::DarwinCore::Occurrences
      .find(params[:import_dataset_id])
      .update_catalog_number_collection_code_namespace(params[:collectionCode], params[:namespace_id])

    render json: {success: true}
  end

private

  def dwc_import_params
    params.require(:dwc_import).permit(
      :file, :name
    )
  end
end