class Api::V2::Compliance::PoliciesController
def action_permission
def action_permission case params[:action] when 'content', 'tailoring' :view else super end end
def content
def content @scap_content = @policy.scap_content send_data @scap_content.scap_file, :type => 'application/xml', :filename => @scap_content.original_filename end
def create
def create @policy = ForemanOpenscap::Policy.new(policy_params) ForemanOpenscap::LookupKeyOverrider.new(@policy).override process_response(@policy.errors.none? && @policy.save) end
def destroy
def destroy process_response @policy.destroy end
def find_resource
def find_resource not_found && return if params[:id].blank? instance_variable_set("@policy", resource_scope.find(params[:id])) end
def index
def index @policies = resource_scope_for_index(:permission => :view_policies) end
def policy_url(policy = nil)
def policy_url(policy = nil) api_compliance_policy_url(@policy) end
def show
def show end
def tailoring
def tailoring @tailoring_file = @policy.tailoring_file if @tailoring_file send_data @tailoring_file.scap_file, :type => 'application/xml', :filename => @tailoring_file.original_filename else render(:json => { :error => { :message => _("No Tailoring file assigned for policy with id %s") % @policy.id } }, :status => 404) end end
def update
def update process_response(@policy.change_deploy_type(policy_params)) end