Class: Admin::ImportDistributionsController

Inherits:
AdminController
  • Object
show all
Defined in:
app/controllers/admin/import_distributions_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject

POST /import_distributions POST /import_distributions.json Creates a new ImportDistribution object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'app/controllers/admin/import_distributions_controller.rb', line 59

def create
  @import_distribution = ImportDistribution.new(import_distribution_params)

  respond_to do |format|
    if @import_distribution.save
      format.html do
        redirect_to admin_import_distribution_path(@import_distribution),
          notice: "Import distribution was successful."
      end
      format.json { render :show, status: :created, location: @import_distribution }
    else
      format.html { render :new, status: :unprocessable_entity }
      format.json { render json: @import_distribution.errors, status: :unprocessable_entity }
    end
  end
end

#destroyObject

DELETE /import_distributions/1 DELETE /import_distributions/1.json Deletes an ImportDistribution object and redirects to the import distributions list.



94
95
96
97
98
99
100
# File 'app/controllers/admin/import_distributions_controller.rb', line 94

def destroy
  @import_distribution.destroy
  respond_to do |format|
    format.html { redirect_to admin_import_distributions_url, notice: "Import distribution was successfully destroyed." }
    format.json { head :no_content }
  end
end

#editObject

GET /import_distributions/1/edit Prepares an existing ImportDistribution object for editing.



53
54
# File 'app/controllers/admin/import_distributions_controller.rb', line 53

def edit
end

#indexObject

GET /import_distributions GET /import_distributions.json Lists all import distributions with pagination.



32
33
34
# File 'app/controllers/admin/import_distributions_controller.rb', line 32

def index
  @pagy, @import_distributions = pagy(ImportDistribution.all.order("created_at DESC"), items: 20)
end

#newObject

GET /import_distributions/new Initializes a new ImportDistribution object.



47
48
49
# File 'app/controllers/admin/import_distributions_controller.rb', line 47

def new
  @import_distribution = ImportDistribution.new
end

#runObject

Runs the import process and redirects to the import show page.



103
104
105
106
# File 'app/controllers/admin/import_distributions_controller.rb', line 103

def run
  @import_distribution.run!
  redirect_to admin_import_distribution_url(@import_distribution), notice: "Import distribution is running. Check back soon for results."
end

#showObject

GET /import_distributions/1 GET /import_distributions/1.json Displays a specific import distribution and its associated documents, with pagination for success and failed states.



39
40
41
42
43
# File 'app/controllers/admin/import_distributions_controller.rb', line 39

def show
  @pagy_success, @import_success_distributions = pagy(@import_distribution.import_document_distributions.in_state(:success), items: 50, page_param: :success_page)
  @pagy_queued, @import_queued_distributions = pagy(@import_distribution.import_document_distributions.in_state(:queued), items: 50, page_param: :queued_page)
  @pagy_failed, @import_failed_distributions = pagy(@import_distribution.import_document_distributions.in_state(:failed), items: 50, page_param: :failed_page)
end

#updateObject

PATCH/PUT /import_distributions/1 PATCH/PUT /import_distributions/1.json Updates an existing ImportDistribution object and redirects to the import distribution if successful.



79
80
81
82
83
84
85
86
87
88
89
# File 'app/controllers/admin/import_distributions_controller.rb', line 79

def update
  respond_to do |format|
    if @import_distribution.update(import_distribution_params)
      format.html { redirect_to admin_import_distribution_path(@import_distribution), notice: "Import distribution was successfully updated." }
      format.json { render :show, status: :ok, location: @import_distribution }
    else
      format.html { render :edit, status: :unprocessable_entity }
      format.json { render json: @import_distribution.errors, status: :unprocessable_entity }
    end
  end
end