Sha256: 70d7b498294209993e3b51646b2364fcd5deb6ba18ec70117ad7013023b5c5ca
Contents?: true
Size: 1.34 KB
Versions: 107
Compression:
Stored size: 1.34 KB
Contents
module Katello class ContentViewModuleStreamFilter < ContentViewFilter CONTENT_TYPE = ModuleStream::CONTENT_TYPE has_many :module_stream_rules, :dependent => :destroy, :foreign_key => :content_view_filter_id, :class_name => "Katello::ContentViewModuleStreamFilterRule" validates_lengths_from_database def generate_clauses(repo) rules = module_stream_rules || [] ids = rules.map(&:module_stream_id) if self.original_module_streams ids.concat(repo.module_streams_without_errata.map(&:id)) end ids end def original_module_streams=(value) self[:original_module_streams] = value end def content_unit_pulp_ids(repo, dependents = false) content_unit_ids = [] module_ids = [] self.module_stream_rules.each do |rule| module_ids << rule.module_stream_id end if self.original_module_streams module_ids.concat(repo.module_streams_without_errata.map(&:id)) end modules_streams = ModuleStream.where(id: module_ids).includes(:rpms) content_unit_ids += modules_streams.pluck(:pulp_id).flatten.uniq if dependents && !modules_streams.empty? rpms = modules_streams.map(&:rpms).flatten content_unit_ids += rpms.pluck(:pulp_id).flatten.uniq end content_unit_ids.uniq end end end
Version data entries
107 entries across 107 versions & 1 rubygems