Sha256: d57d50df5e1e5e66fddd4db941a99702262d8383c2d4557c3dcee4ffe500c9da

Contents?: true

Size: 1.91 KB

Versions: 19

Compression:

Stored size: 1.91 KB

Contents

module Katello
  class ContentViewPuppetModule < Katello::Model
    audited :associated_with => :content_view
    belongs_to :content_view, :class_name => "Katello::ContentView", :inverse_of => :content_view_versions

    validates_lengths_from_database
    validates :content_view_id, :presence => true
    validates :name, :uniqueness => { :scope => :content_view_id, :message => _('There is already a module named "%{value}" in this content view.') }
    validates :uuid, :uniqueness => { :scope => :content_view_id }, :allow_blank => true

    validates_with Validators::ContentViewPuppetModuleValidator

    scoped_search :on => :name, :complete_value => true
    scoped_search :on => :author, :complete_value => true
    scoped_search :on => :uuid, :complete_value => true
    scoped_search :on => :name, :relation => :content_view, :rename => :content_view_name

    before_validation :set_attributes

    def puppet_module
      PuppetModule.find_by_uuid(self.uuid)
    end

    def computed_version
      if self.uuid
        puppet_module = PuppetModule.where(:uuid => self.uuid).first
      else
        puppet_module = PuppetModule.latest_module(
          self.name,
          self.author,
          self.content_view.puppet_repos
        )
      end

      puppet_module.try(:version)
    end

    def latest_in_modules_by_author?(puppet_module_list)
      latest_from_list = puppet_module_list.where(:author => self.author).order(:sortable_version => :desc).first
      self.computed_version.eql?(latest_from_list.try(:version))
    end

    private

    def set_attributes
      return unless SETTINGS[:katello][:use_pulp]
      if self.uuid.present?
        puppet_module = PuppetModule.with_identifiers(self.uuid).first
        fail Errors::NotFound, _("Couldn't find Puppet Module with id '%s'") % self.uuid unless puppet_module

        self.name = puppet_module.name
        self.author = puppet_module.author
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
katello-3.10.2 app/models/katello/content_view_puppet_module.rb
katello-3.10.1.1 app/models/katello/content_view_puppet_module.rb
katello-3.10.1 app/models/katello/content_view_puppet_module.rb
katello-3.10.0 app/models/katello/content_view_puppet_module.rb
katello-3.10.0.rc1.1 app/models/katello/content_view_puppet_module.rb
katello-3.9.1 app/models/katello/content_view_puppet_module.rb
katello-3.10.0.rc1 app/models/katello/content_view_puppet_module.rb
katello-3.9.0 app/models/katello/content_view_puppet_module.rb
katello-3.8.1 app/models/katello/content_view_puppet_module.rb
katello-3.9.0.rc2 app/models/katello/content_view_puppet_module.rb
katello-3.9.0.rc1 app/models/katello/content_view_puppet_module.rb
katello-3.7.1.1 app/models/katello/content_view_puppet_module.rb
katello-3.7.1 app/models/katello/content_view_puppet_module.rb
katello-3.8.0 app/models/katello/content_view_puppet_module.rb
katello-3.8.0.rc3 app/models/katello/content_view_puppet_module.rb
katello-3.8.0.rc2 app/models/katello/content_view_puppet_module.rb
katello-3.7.0 app/models/katello/content_view_puppet_module.rb
katello-3.8.0.rc1 app/models/katello/content_view_puppet_module.rb
katello-3.7.0.rc2 app/models/katello/content_view_puppet_module.rb