Class: Katello::Validators::ContentViewEnvironmentValidator

Inherits:
ActiveModel::Validator
  • Object
show all
Defined in:
app/lib/katello/validators/content_view_environment_validator.rb

Instance Method Summary collapse

Instance Method Details

#validate(record) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/lib/katello/validators/content_view_environment_validator.rb', line 4

def validate(record)
  #support lifecycle_environment_id for foreman models
  environment_id = record.respond_to?(:lifecycle_environment_id) ? record.lifecycle_environment_id : record.environment_id
  if record.content_view_id
    view = ContentView.where(:id => record.content_view_id).first
    if environment_id
      env = KTEnvironment.where(:id => environment_id).first
      unless view.blank? || env.blank? || view.in_environment?(env)
        record.errors[:base] << _("Content view '%{view}' is not in environment '%{env}'") %
                                  {:view => view.name, :env => env.name}
      end
    end
    if view&.generated_for_repository?
      record.errors[:base] << _("Generated content views cannot be assigned to hosts or activation keys")
    end
  end
end