|
|
|
class BulkUploadLettingsSoftValidationsCheckController < ApplicationController
|
|
|
|
include ActionView::Helpers::TextHelper
|
|
|
|
|
|
|
|
before_action :authenticate_user!
|
|
|
|
before_action :set_no_cache_headers
|
|
|
|
|
|
|
|
def set_no_cache_headers
|
|
|
|
response.set_header("Cache-Control", "no-store")
|
|
|
|
end
|
|
|
|
|
|
|
|
def show
|
|
|
|
@bulk_upload = current_user.bulk_uploads.find(params[:id])
|
|
|
|
|
|
|
|
return redirect_to form.preflight_redirect unless form.preflight_valid?
|
|
|
|
|
|
|
|
render form.view_path
|
|
|
|
end
|
|
|
|
|
|
|
|
def update
|
|
|
|
@bulk_upload = current_user.bulk_uploads.find(params[:id])
|
|
|
|
|
|
|
|
if form.valid? && form.save!
|
|
|
|
if params[:page] == "confirm"
|
|
|
|
n_logs = pluralize(@bulk_upload.logs.count, "log")
|
|
|
|
flash[:notice] = "You’ve successfully uploaded #{n_logs}"
|
|
|
|
end
|
|
|
|
|
|
|
|
redirect_to form.next_path
|
|
|
|
else
|
|
|
|
render form.view_path
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def form
|
|
|
|
@form ||= case params[:page]
|
|
|
|
when "confirm-soft-errors"
|
|
|
|
Forms::BulkUploadLettingsSoftValidationsCheck::ConfirmSoftErrors.new(form_params.merge(bulk_upload: @bulk_upload))
|
|
|
|
when "chosen"
|
|
|
|
Forms::BulkUploadLettingsSoftValidationsCheck::Chosen.new(form_params.merge(bulk_upload: @bulk_upload))
|
|
|
|
when "confirm"
|
|
|
|
Forms::BulkUploadLettingsSoftValidationsCheck::Confirm.new(form_params.merge(bulk_upload: @bulk_upload))
|
|
|
|
else
|
|
|
|
raise "invalid form"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def form_params
|
|
|
|
params.fetch(:form, {}).permit(:confirm_soft_errors)
|
|
|
|
end
|
|
|
|
end
|