Sha256: af0cc979d39b371f9b8578c5074de6288d477386691457750351dc99290d1ac0

Contents?: true

Size: 1.51 KB

Versions: 16

Compression:

Stored size: 1.51 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_and_page.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

16 entries across 16 versions & 1 rubygems

Version Path
foreman_openscap-3.0.1 app/controllers/scap_contents_controller.rb
foreman_openscap-3.0.0 app/controllers/scap_contents_controller.rb
foreman_openscap-2.0.2 app/controllers/scap_contents_controller.rb
foreman_openscap-1.0.10 app/controllers/scap_contents_controller.rb
foreman_openscap-2.0.1 app/controllers/scap_contents_controller.rb
foreman_openscap-1.0.9 app/controllers/scap_contents_controller.rb
foreman_openscap-2.0.0 app/controllers/scap_contents_controller.rb
foreman_openscap-1.0.8 app/controllers/scap_contents_controller.rb
foreman_openscap-1.0.7 app/controllers/scap_contents_controller.rb
foreman_openscap-1.0.6 app/controllers/scap_contents_controller.rb
foreman_openscap-1.0.5 app/controllers/scap_contents_controller.rb
foreman_openscap-1.0.4 app/controllers/scap_contents_controller.rb
foreman_openscap-1.0.3 app/controllers/scap_contents_controller.rb
foreman_openscap-1.0.2 app/controllers/scap_contents_controller.rb
foreman_openscap-1.0.1 app/controllers/scap_contents_controller.rb
foreman_openscap-1.0.0 app/controllers/scap_contents_controller.rb