Sha256: 8e5aeda9f43f5af52b900635346b67b300a7ab2649a1d0acc911d468ad73fc6a

Contents?: true

Size: 1 KB

Versions: 2

Compression:

Stored size: 1 KB

Contents

require 'uri'

module ForemanBootdisk
  class DisksController < ::ApplicationController
    before_filter :find_by_name, :only => %w[host]

    def generic
      begin
        tmpl = ForemanBootdisk::Renderer.new.generic_template_render
      rescue => e
        error _('Failed to render boot disk template: %s') % e
        redirect_to :back
        return
      end

      ForemanBootdisk::ISOGenerator.new(tmpl).generate do |iso|
        send_data File.read(iso), :filename => "bootdisk_#{URI.parse(Setting[:foreman_url]).host}.iso"
      end
    end

    def host
      host = @disk
      begin
        tmpl = host.bootdisk_template_render
      rescue => e
        error _('Failed to render boot disk template: %s') % e
        redirect_to :back
        return
      end

      ForemanBootdisk::ISOGenerator.new(tmpl).generate do |iso|
        send_data File.read(iso), :filename => "#{host.name}.iso"
      end
    end

    private

    def resource_base
      Host::Managed.authorized(:view_hosts)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
foreman_bootdisk-3.1.1 app/controllers/foreman_bootdisk/disks_controller.rb
foreman_bootdisk-3.1.0 app/controllers/foreman_bootdisk/disks_controller.rb