Sha256: 13005b96ef5f4f52a22e3e9bc14a224588c745e03408e22044d8efcf460d3dbf

Contents?: true

Size: 939 Bytes

Versions: 10

Compression:

Stored size: 939 Bytes

Contents

module ForemanAnsible
  module Concerns
    # Extra methods to enforce Ansible roles on a host or multiple hosts
    module HostsControllerExtensions
      extend ActiveSupport::Concern
      include ForemanTasks::Triggers

      def play_roles
        find_resource
        task = async_task(::Actions::ForemanAnsible::PlayHostRoles, @host)
        redirect_to task
      rescue Foreman::Exception => e
        error e.message
        redirect_to host_path(@host)
      end

      def multiple_play_roles
        find_multiple
        task = async_task(::Actions::ForemanAnsible::PlayHostsRoles, @hosts)
        redirect_to task
      rescue Foreman::Exception => e
        error e.message
        redirect_to hosts_path
      end

      private

      def action_permission
        case params[:action]
        when 'multiple_play_roles', 'play_roles'
          :view
        else
          super
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
foreman_ansible-1.4.5 app/controllers/foreman_ansible/concerns/hosts_controller_extensions.rb
foreman_ansible-1.4.3 app/controllers/foreman_ansible/concerns/hosts_controller_extensions.rb
foreman_ansible-1.4.2 app/controllers/foreman_ansible/concerns/hosts_controller_extensions.rb
foreman_ansible-1.4.1 app/controllers/foreman_ansible/concerns/hosts_controller_extensions.rb
foreman_ansible-1.4.0 app/controllers/foreman_ansible/concerns/hosts_controller_extensions.rb
foreman_ansible-1.3.1 app/controllers/foreman_ansible/concerns/hosts_controller_extensions.rb
foreman_ansible-1.3.0 app/controllers/foreman_ansible/concerns/hosts_controller_extensions.rb
foreman_ansible-1.2.1 app/controllers/foreman_ansible/concerns/hosts_controller_extensions.rb
foreman_ansible-1.2 app/controllers/foreman_ansible/concerns/hosts_controller_extensions.rb
foreman_ansible-1.1 app/controllers/foreman_ansible/concerns/hosts_controller_extensions.rb