class TailoringFilesController

def action_permission

def action_permission
  case params[:action]
  when 'xml'
    :view
  else
    super
  end
end

def create

def create
  @tailoring_file = ForemanOpenscap::TailoringFile.new(tailoring_file_params)
  if @tailoring_file.save
    process_success
  else
    process_error
  end
rescue RestClient::Exception => e
  @tailoring_file.errors.add(:scap_file, :invalid, message: e.http_body)
  process_error
end

def destroy

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

def edit

def edit
end

def find_tailoring_file

def find_tailoring_file
  @tailoring_file = resource_base.find(params[:id])
end

def handle_file_upload

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

def index

def index
  @tailoring_files = resource_base_search_and_page.search_for(params[:search])
end

def model_of_controller

def model_of_controller
  ::ForemanOpenscap::TailoringFile
end

def new

def new
  @tailoring_file = ::ForemanOpenscap::TailoringFile.new
end

def update

def update
  if @tailoring_file.update(tailoring_file_params)
    process_success
  else
    process_error
  end
end

def xml

def xml
  send_data @tailoring_file.scap_file,
            :type     => 'application/xml',
            :filename => @tailoring_file.original_filename || "#{@tailoring_file.name}.xml"
end