27 lines
720 B
Ruby
27 lines
720 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Admin::SystemCheck::SoftwareVersionCheck < Admin::SystemCheck::BaseCheck
|
|
include RoutingHelper
|
|
|
|
def skip?
|
|
!current_user.can?(:view_devops) || !SoftwareUpdate.check_enabled?
|
|
end
|
|
|
|
def pass?
|
|
software_updates.empty?
|
|
end
|
|
|
|
def message
|
|
if software_updates.any?(&:urgent?)
|
|
Admin::SystemCheck::Message.new(:software_version_critical_check, nil, admin_software_updates_path, true)
|
|
else
|
|
Admin::SystemCheck::Message.new(:software_version_patch_check, nil, admin_software_updates_path)
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def software_updates
|
|
@software_updates ||= SoftwareUpdate.pending_to_a.filter { |update| update.urgent? || update.patch_type? }
|
|
end
|
|
end
|