You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.5 KiB
52 lines
1.5 KiB
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
|
|
|