Module: Katello::Api::V2::ContentOverridesController

Extended by:
ActiveSupport::Concern
Defined in:
app/controllers/katello/concerns/api/v2/content_overrides_controller.rb

Instance Method Summary collapse

Instance Method Details

#validate_content_overrides_enabled(content_params) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/controllers/katello/concerns/api/v2/content_overrides_controller.rb', line 6

def validate_content_overrides_enabled(content_params)
  name = content_params[:name] || "enabled"
  compare_value = content_params[:value].to_s.downcase
  remove = content_params.key?(:remove) ? ::Foreman::Cast.to_bool(content_params[:remove]) : nil
   = content_params[:content_label]

  if !remove && name == "enabled" &&
                 (compare_value.blank? || (compare_value != "default" &&
                  ::Foreman::Cast.to_bool(compare_value).nil?))
    fail HttpErrors::BadRequest, _("Value must either be a boolean or 'default' for 'enabled'")
  end

  if .blank?
    fail HttpErrors::BadRequest, _("Invalid content label: %s") % content_params[:content_label]
  end

  override = ::Katello::ContentOverride.new(content_params[:content_label])
  override.name = name
  if remove || (name == "enabled" && compare_value == "default")
    override.value = nil
  else
    if name == "enabled"
      override.value = ::Foreman::Cast.to_bool(compare_value) ? "1" : "0"
    else
      override.value = content_params[:value]
    end
  end
  override
end