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/compute_resources_controller.rb
include Foreman::Controller::AutoCompleteSearch
AJAX_REQUESTS = %w{template_selected cluster_selected}
before_filter :ajax_request, :only => AJAX_REQUESTS
before_filter :find_by_id, :only => [:show, :edit, :update, :destroy, :ping, :associate] + AJAX_REQUESTS
before_filter :find_by_name, :only => [:show, :edit, :associate, :update, :destroy, :ping] + AJAX_REQUESTS
def index
@compute_resources = ComputeResource.my_compute_resources.search_for(params[:search], :order => params[:order]).paginate(:page => params[:page])
@compute_resources = resource_base.search_for(params[:search], :order => params[:order]).paginate :page => params[:page]
end
def new
......
# cr_id is posted from AJAX function. cr_id is nil if new
Rails.logger.info "CR_ID IS #{params[:cr_id]}"
if params[:cr_id].present? && params[:cr_id] != 'null'
@compute_resource = ComputeResource.find(params[:cr_id])
@compute_resource = ComputeResource.authorized(:edit_compute_resources).find(params[:cr_id])
params[:compute_resource].delete(:password) if params[:compute_resource][:password].blank?
@compute_resource.attributes = params[:compute_resource]
else
......
private
def find_by_id
@compute_resource = ComputeResource.find(params[:id])
not_found and return unless @compute_resource
deny_access and return unless ComputeResource.my_compute_resources.include?(@compute_resource)
def action_permission
case params[:action]
when 'associate'
'edit'
when 'ping', 'template_selected', 'cluster_selected'
'view'
else
super
end
end
end

Also available in: Unified diff