Sha256: 4072a681b00cf91724a8997a08e0ded53e9823f9805dfa96bd7fe77dee07b5fc

Contents?: true

Size: 1.44 KB

Versions: 11

Compression:

Stored size: 1.44 KB

Contents

module Katello
  module UINotifications
    module Pulp
      class ProxyDiskSpace
        class << self
          def deliver!
            SmartProxy.unscoped.with_content.each do |proxy|
              if percentage < 90 && notification_already_exists?(proxy)
                blueprint.notifications.where(subject: proxy).destroy_all
              elsif update_notifications(proxy).empty? && percentage > 90
                ::Notification.create!(
                  :subject => proxy,
                  :initiator => User.anonymous_admin,
                  :audience => Notification::AUDIENCE_ADMIN,
                  :message => ::UINotifications::StringParser.new(
                    blueprint.message,
                    :subject => proxy,
                    :percentage => percentage
                  ),
                  :notification_blueprint => blueprint
                )
              end
            end
          end

          def notification_already_exists?(subject)
            blueprint.notifications.where(:subject => subject).any?
          end

          def update_notifications(subject)
            notifs = blueprint.notifications
            notifs.where(subject: subject).update_all(expired_at: blueprint.expired_at)
            notifs
          end

          def blueprint
            @blueprint ||= NotificationBlueprint.unscoped.find_by(
              :name => 'pulp_low_disk_space')
          end
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
katello-4.0.1.2 app/services/katello/ui_notifications/pulp/proxy_disk_space.rb
katello-4.1.0.rc2.2 app/services/katello/ui_notifications/pulp/proxy_disk_space.rb
katello-4.1.0.rc2.1 app/services/katello/ui_notifications/pulp/proxy_disk_space.rb
katello-4.0.1.1 app/services/katello/ui_notifications/pulp/proxy_disk_space.rb
katello-4.1.0.rc2 app/services/katello/ui_notifications/pulp/proxy_disk_space.rb
katello-4.0.1 app/services/katello/ui_notifications/pulp/proxy_disk_space.rb
katello-4.1.0.rc1.1 app/services/katello/ui_notifications/pulp/proxy_disk_space.rb
katello-4.1.0.rc1 app/services/katello/ui_notifications/pulp/proxy_disk_space.rb
katello-4.0.0 app/services/katello/ui_notifications/pulp/proxy_disk_space.rb
katello-4.0.0.rc3.1 app/services/katello/ui_notifications/pulp/proxy_disk_space.rb
katello-4.0.0.rc3 app/services/katello/ui_notifications/pulp/proxy_disk_space.rb