28 lines
720 B
Ruby
28 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
|