Sha256: a5c4a3a31923710f91c4279fc314d3ada2bfdc401795b8e6be535896fb85ccbc

Contents?: true

Size: 1.7 KB

Versions: 9

Compression:

Stored size: 1.7 KB

Contents

module ForemanPuppet
  module HostsHelper
    UI.register_host_description do
      multiple_actions_provider :puppet_host_multiple_actions
      # otherwise registered twice
      overview_buttons_provider :puppet_host_overview_buttons if ForemanPuppet.extracted_from_core?
      overview_fields_provider :puppet_host_overview_fields if ForemanPuppet.extracted_from_core?
    end

    def puppet_host_multiple_actions
      if ForemanPuppet.extracted_from_core?
        actions = [{ action: [_('Change Environment'), foreman_puppet.select_multiple_environment_hosts_path], priority: 200 }]
        if authorized_for(controller: :hosts, action: :edit) && SmartProxy.unscoped.authorized.with_features('Puppet').exists?
          actions << { action: [_('Change Puppet Master'), foreman_puppet.select_multiple_puppet_proxy_hosts_path], priority: 1050 }
        end
        actions
      else
        []
      end
    end

    def puppet_host_overview_buttons(host)
      buttons = []
      if SmartProxy.with_features('Puppet').any?
        buttons << {
          button: link_to(_('Puppet YAML'), foreman_puppet.externalNodes_host_path(name: host), title: _('Puppet external nodes YAML dump'),
                                                                                                class: 'btn btn-default'), priority: 400
        }
      end
      buttons
    end

    def puppet_host_overview_fields(host)
      fields = []
      if host.environment.present?
        fields << {
          field: [
            _('Puppet Environment'),
            link_to(host.puppet.environment, hosts_path(search: "environment = #{host.puppet.environment}")),
          ],
          priority: 650,
        }
      end
      fields
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
foreman_puppet-1.0.5 app/helpers/foreman_puppet/hosts_helper.rb
foreman_puppet-1.0.4 app/helpers/foreman_puppet/hosts_helper.rb
foreman_puppet-1.0.3 app/helpers/foreman_puppet/hosts_helper.rb
foreman_puppet-1.0.2 app/helpers/foreman_puppet/hosts_helper.rb
foreman_puppet-1.0.1 app/helpers/foreman_puppet/hosts_helper.rb
foreman_puppet-1.0.0 app/helpers/foreman_puppet/hosts_helper.rb
foreman_puppet-1.0.0.rc.2 app/helpers/foreman_puppet/hosts_helper.rb
foreman_puppet-1.0.0.rc.1 app/helpers/foreman_puppet/hosts_helper.rb
foreman_puppet-0.1.0 app/helpers/foreman_puppet/hosts_helper.rb