Sha256: be3df542ef7307db4ee9e78f1f4568de33cc701f1e48fc444cebdc3eb779dfa4

Contents?: true

Size: 1.49 KB

Versions: 19

Compression:

Stored size: 1.49 KB

Contents

class ScapContentsController < ApplicationController
  include Foreman::Controller::AutoCompleteSearch
  include Foreman::Controller::Parameters::ScapContent

  before_action :handle_file_upload, :only => %i[create update]
  before_action :find_by_id, :only => %i[show edit update destroy]

  def model_of_controller
    ::ForemanOpenscap::ScapContent
  end

  def index
    @contents = resource_base.search_for(params[:search])
  end

  def show
    send_data @scap_content.scap_file,
              :type     => 'application/xml',
              :filename => @scap_content.original_filename
  end

  def new
    @scap_content = ForemanOpenscap::ScapContent.new
  end

  def create
    @scap_content = ForemanOpenscap::ScapContent.new(scap_content_params)
    if @scap_content.save
      process_success
    else
      process_error
    end
  end

  def update
    if @scap_content.update_attributes(scap_content_params)
      process_success
    else
      process_error
    end
  end

  def destroy
    if @scap_content.destroy
      process_success
    else
      process_error :object => @scap_content
    end
  end

  private

  def find_by_id
    @scap_content = resource_base.find(params[:id])
  end

  def handle_file_upload
    return unless params[:scap_content] && scap_raw_file = params[:scap_content][:scap_file]
    params[:scap_content][:original_filename] = scap_raw_file.original_filename
    params[:scap_content][:scap_file] = scap_raw_file.tempfile.read if scap_raw_file.tempfile.respond_to?(:read)
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
foreman_openscap-0.12.3 app/controllers/scap_contents_controller.rb
foreman_openscap-0.11.5 app/controllers/scap_contents_controller.rb
foreman_openscap-0.12.2 app/controllers/scap_contents_controller.rb
foreman_openscap-0.12.1 app/controllers/scap_contents_controller.rb
foreman_openscap-0.12.0 app/controllers/scap_contents_controller.rb
foreman_openscap-0.11.4 app/controllers/scap_contents_controller.rb
foreman_openscap-0.11.3 app/controllers/scap_contents_controller.rb
foreman_openscap-0.11.2 app/controllers/scap_contents_controller.rb
foreman_openscap-0.11.1 app/controllers/scap_contents_controller.rb
foreman_openscap-0.11.0 app/controllers/scap_contents_controller.rb
foreman_openscap-0.10.4 app/controllers/scap_contents_controller.rb
foreman_openscap-0.10.3 app/controllers/scap_contents_controller.rb
foreman_openscap-0.10.2 app/controllers/scap_contents_controller.rb
foreman_openscap-0.10.1 app/controllers/scap_contents_controller.rb
foreman_openscap-0.9.3 app/controllers/scap_contents_controller.rb
foreman_openscap-0.10.0 app/controllers/scap_contents_controller.rb
foreman_openscap-0.9.2 app/controllers/scap_contents_controller.rb
foreman_openscap-0.9.1 app/controllers/scap_contents_controller.rb
foreman_openscap-0.9.0 app/controllers/scap_contents_controller.rb