Sha256: a31a80ec476e789c8e82eb48d602f57cd32cbd258b78ede77ea97a35fb23c886

Contents?: true

Size: 1.4 KB

Versions: 56

Compression:

Stored size: 1.4 KB

Contents

# frozen_string_literal: true

require "fileutils"

module Renalware
  module Admin
    module Feeds
      class FilesController < BaseController
        include Renalware::Concerns::Pageable

        def index
          authorize files
          render locals: {
            files: files,
            uploaded_file: Renalware::Feeds::Files::FileUploadForm.new
          }
        end

        def create
          authorize Renalware::Feeds::File, :create?
          form = Renalware::Feeds::Files::FileUploadForm.new(file_upload_params)

          if form.valid?
            file = Renalware::Feeds::Files::CreateFeedFile.call(
              uploaded_file: Pathname.new(form.file.path),
              file_type: Renalware::Feeds::FileType.find(form.file_type_id),
              user: current_user
            )
            Renalware::Feeds::Files::EnqueueFileForBackgroundProcessing.call(file)
            redirect_to(
              admin_feeds_files_path,
              notice: "File #{form.file.original_filename} queued for processing"
            )
          else
            render :index, locals: { files: files, uploaded_file: form }
          end
        end

        private

        def files
          @files ||= Renalware::Feeds::File.ordered.page(page).per(per_page)
        end

        def file_upload_params
          params.require(:file_upload).permit(:file, :file_type_id)
        end
      end
    end
  end
end

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
renalware-core-2.0.78 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.77 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.76 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.75 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.74 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.73 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.72 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.71 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.70 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.69 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.68 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.67 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.64 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.63 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.62 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.61 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.60 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.58 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.57 app/controllers/renalware/admin/feeds/files_controller.rb
renalware-core-2.0.56 app/controllers/renalware/admin/feeds/files_controller.rb