Sha256: fa1ad541196e4c8fced652ca41ed76ce101f4b064d3367e45d548c5acf73788e

Contents?: true

Size: 977 Bytes

Versions: 95

Compression:

Stored size: 977 Bytes

Contents

module Katello
  class ContentViewPackageGroupFilter < ContentViewFilter
    CONTENT_TYPE = PackageGroup::CONTENT_TYPE

    has_many :package_group_rules, :dependent => :destroy, :foreign_key => :content_view_filter_id,
                                   :class_name => "Katello::ContentViewPackageGroupFilterRule"

    validates_lengths_from_database

    def generate_clauses(_repo)
      package_group_ids = package_group_rules.reject { |rule| rule.uuid.blank? }.flat_map.map(&:uuid)
      { "_id" => { "$in" => package_group_ids } } unless package_group_ids.empty?
    end

    def content_unit_pulp_ids(repo)
      package_group_hrefs = package_group_rules.reject { |rule| rule.uuid.blank? }.flat_map.map(&:uuid)
      package_group_names = repo.package_groups.
        where(:pulp_id => package_group_hrefs).collect { |package_group| package_group.package_names }.flatten.uniq
      repo.rpms.where(:name => package_group_names).pluck(:pulp_id).compact
    end
  end
end

Version data entries

95 entries across 95 versions & 1 rubygems

Version Path
katello-4.16.0 app/models/katello/content_view_package_group_filter.rb
katello-4.15.1 app/models/katello/content_view_package_group_filter.rb
katello-4.16.0.rc2 app/models/katello/content_view_package_group_filter.rb
katello-4.16.0.rc1 app/models/katello/content_view_package_group_filter.rb
katello-4.14.3 app/models/katello/content_view_package_group_filter.rb
katello-4.14.2 app/models/katello/content_view_package_group_filter.rb
katello-4.15.0 app/models/katello/content_view_package_group_filter.rb
katello-4.15.0.rc2 app/models/katello/content_view_package_group_filter.rb
katello-4.15.0.rc1 app/models/katello/content_view_package_group_filter.rb
katello-4.14.1 app/models/katello/content_view_package_group_filter.rb
katello-4.14.0 app/models/katello/content_view_package_group_filter.rb
katello-4.14.0.rc3 app/models/katello/content_view_package_group_filter.rb
katello-4.14.0.rc2 app/models/katello/content_view_package_group_filter.rb
katello-4.14.0.rc1.1 app/models/katello/content_view_package_group_filter.rb
katello-4.14.0.rc1 app/models/katello/content_view_package_group_filter.rb
katello-4.13.1 app/models/katello/content_view_package_group_filter.rb
katello-4.13.0 app/models/katello/content_view_package_group_filter.rb
katello-4.12.1 app/models/katello/content_view_package_group_filter.rb
katello-4.13.0.rc1 app/models/katello/content_view_package_group_filter.rb
katello-4.12.0 app/models/katello/content_view_package_group_filter.rb