Project

General

Profile

« Previous | Next » 

Revision acfbc458

Added by Marek Hulán about 10 years ago

fixes #812 - new permissions model, user group role and nest support, role filters for better granularity

Contributions from:

View differences:

app/controllers/puppetclasses_controller.rb
class PuppetclassesController < ApplicationController
include Foreman::Controller::Environments
include Foreman::Controller::AutoCompleteSearch
before_filter :find_by_name, :only => [:edit, :update, :destroy, :assign]
before_filter :find_by_name, :only => [:edit, :update, :destroy]
before_filter :setup_search_options, :only => :index
before_filter :reset_redirect_to_url, :only => :index
before_filter :store_redirect_to_url, :only => :edit
def index
@puppetclasses = Puppetclass.search_for(params[:search], :order => params[:order]).paginate(:page => params[:page])
@puppetclasses = resource_base.search_for(params[:search], :order => params[:order]).includes(:environments, :hostgroups).paginate(:page => params[:page])
@host_counter = Host.group(:puppetclass_id).joins(:puppetclasses).where(:puppetclasses => {:id => @puppetclasses.collect(&:id)}).count
@keys_counter = Puppetclass.joins(:class_params).select('distinct environment_classes.lookup_key_id').group(:name).count
@hostgroups_authorizer = Authorizer.new(User.current, :collection => HostgroupClass.find_all_by_puppetclass_id(@puppetclasses.map(&:id)).compact.uniq.map(&:hostgroup_id))
end
def new
......
def find_by_name
not_found and return if params[:id].blank?
pc = Puppetclass.includes(:class_params => [:environment_classes, :environments, :lookup_values])
pc = resource_base.includes(:class_params => [:environment_classes, :environments, :lookup_values])
@puppetclass = (params[:id] =~ /\A\d+\Z/) ? pc.find(params[:id]) : pc.find_by_name(params[:id])
not_found and return unless @puppetclass
end
end

Also available in: Unified diff