discourse/app/services/problem_check/out_of_date_themes.rb
Ted Johansson 3137e60653
DEV: Database backed admin notices (#26192)
This PR introduces a basic AdminNotice model to store these notices. Admin notices are categorized by their source/type (currently only notices from problem check.) They also have a priority.
2024-05-23 09:29:08 +08:00

30 lines
606 B
Ruby

# frozen_string_literal: true
class ProblemCheck::OutOfDateThemes < ProblemCheck
self.priority = "low"
def call
return no_problem if out_of_date_themes.empty?
problem
end
private
def out_of_date_themes
@out_of_date_themes ||= RemoteTheme.out_of_date_themes
end
def message
"#{I18n.t("dashboard.problem.out_of_date_themes")}<ul>#{themes_list}</ul>"
end
def themes_list
out_of_date_themes
.map do |name, id|
"<li><a href=\"#{Discourse.base_path}/admin/customize/themes/#{id}\">#{CGI.escapeHTML(name)}</a></li>"
end
.join("\n")
end
end