Sha256: 9f908e19d9252a61b4b97bc1e3c26db382f785512981b8aee49be3c6e9be00a6

Contents?: true

Size: 1.43 KB

Versions: 1

Compression:

Stored size: 1.43 KB

Contents

class DiscoveryRulesController < ApplicationController
  # Two-pane searching must be disabled for rules otherwise query completion will not work
  #include Foreman::Controller::AutoCompleteSearch

  before_filter :find_resource, :only => [:edit, :update, :destroy, :enable, :disable, :auto_provision]

  def index
    base = resource_base.search_for(params[:search], :order => (params[:order]))
    @discovery_rules = base.paginate(:page => params[:page]).includes(:hostgroup)
  end

  def new
    @discovery_rule = DiscoveryRule.new
  end

  def create
    @discovery_rule = DiscoveryRule.new(params[:discovery_rule])
    if @discovery_rule.save
      process_success
    else
      process_error
    end
  end

  def edit
  end

  def update
    if @discovery_rule.update_attributes(params[:discovery_rule])
      process_success
    else
      process_error
    end
  end

  def destroy
    if @discovery_rule.destroy
      process_success
    else
      process_error
    end
  end

  def enable
    set_enabled true
  end

  def disable
    set_enabled false
  end

  private

  def action_permission
    case params[:action]
    when 'enable', 'disable'
      :edit
    else
      super
    end
  end

  def set_enabled(enabled)
    @discovery_rule.enabled = enabled
    if @discovery_rule.save
      process_success :success_msg => (enabled ? _('Rule enabled') : _('Rule disabled')), :success_redirect => :back
    else
      process_error
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
foreman_discovery-6.0.0 app/controllers/discovery_rules_controller.rb