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