Sha256: a28a56a6e23b4bac3140064bdd686ab2397b6f571d7b76728abb67ed45d4b30b

Contents?: true

Size: 1.85 KB

Versions: 57

Compression:

Stored size: 1.85 KB

Contents

# The Errata module contains methods that are common for supporting errata
# in several controllers (e.g. SystemErrataController and HostCollectionErrataController)
module Katello
  module Util
    module Errata
      def filter_by_type(errata_list, filter_type)
        filtered_list = []

        if filter_type != "All"
          pulp_filter_type = get_pulp_filter_type(filter_type)

          errata_list.each do |erratum|
            if erratum.respond_to?(:type)
              if erratum.type == pulp_filter_type
                filtered_list << erratum
              end
            else
              if erratum["type"] == pulp_filter_type
                filtered_list << erratum
              end
            end
          end
        else
          filtered_list = errata_list
        end

        return filtered_list
      end

      def get_pulp_filter_type(type)
        filter_type = type.downcase
        if filter_type == "bugfix"
          return ::Katello::Erratum::BUGZILLA
        elsif filter_type == "enhancement"
          return ::Katello::Erratum::ENHANCEMENT
        elsif filter_type == "security"
          return ::Katello::Erratum::SECURITY
        end
      end

      def filter_by_state(errata_list, errata_state)
        if errata_state == "applied"
          return []
        else
          return errata_list
        end
      end

      def filter_errata_by_pulp_href(errata, package_pulp_hrefs)
        return [] if package_pulp_hrefs.empty?
        rpms = Katello::Rpm.where(:pulp_id => package_pulp_hrefs)
        rpm_filenames = rpms.map { |rpm| File.basename(rpm.filename) }
        matching_errata = []
        errata.each do |erratum|
          if erratum.packages.any? && (erratum.packages.pluck(:filename) - rpm_filenames).empty?
            matching_errata << erratum
          end
        end
        matching_errata
      end
    end
  end
end

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
katello-3.17.0 app/lib/katello/util/errata.rb
katello-3.18.0.rc1 app/lib/katello/util/errata.rb
katello-3.17.0.rc2.2 app/lib/katello/util/errata.rb
katello-3.17.0.rc2.1 app/lib/katello/util/errata.rb
katello-3.16.1.2 app/lib/katello/util/errata.rb
katello-3.16.1.1 app/lib/katello/util/errata.rb
katello-3.17.0.rc2 app/lib/katello/util/errata.rb
katello-3.16.1 app/lib/katello/util/errata.rb
katello-3.17.0.rc1 app/lib/katello/util/errata.rb
katello-3.16.0 app/lib/katello/util/errata.rb
katello-3.16.0.rc5.1 app/lib/katello/util/errata.rb
katello-3.16.0.rc5 app/lib/katello/util/errata.rb
katello-3.16.0.rc4.1 app/lib/katello/util/errata.rb
katello-3.16.0.rc4 app/lib/katello/util/errata.rb
katello-3.16.0.rc3.1 app/lib/katello/util/errata.rb
katello-3.16.0.rc3 app/lib/katello/util/errata.rb
katello-3.16.0.rc2.1 app/lib/katello/util/errata.rb