Expire dashboard data when you upgrade to a new discourse version. Version check data was being cached and causing confusion to people who upgraded.
This commit is contained in:
parent
f1b4ecfdc9
commit
21b4b8d5d5
|
@ -1,9 +1,16 @@
|
||||||
class Admin::DashboardController < Admin::AdminController
|
class Admin::DashboardController < Admin::AdminController
|
||||||
|
|
||||||
caches_action :index, expires_in: 1.hour
|
|
||||||
|
|
||||||
def index
|
def index
|
||||||
render_json_dump(AdminDashboardData.fetch_all)
|
# see https://github.com/rails/rails/issues/8167
|
||||||
|
# TODO: after upgrading to Rails 4, try to remove "if cache_classes"
|
||||||
|
if Discourse::Application.config.cache_classes
|
||||||
|
dashboard_data = Rails.cache.fetch("admin-dashboard-data-#{Discourse::VERSION::STRING}", expires_in: 1.hour) do
|
||||||
|
AdminDashboardData.fetch_all.as_json
|
||||||
|
end
|
||||||
|
render json: dashboard_data
|
||||||
|
else
|
||||||
|
render_json_dump AdminDashboardData.fetch_all
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def problems
|
def problems
|
||||||
|
|
|
@ -45,13 +45,13 @@ class AdminDashboardData
|
||||||
|
|
||||||
def as_json
|
def as_json
|
||||||
@json ||= {
|
@json ||= {
|
||||||
reports: REPORTS.map { |type| Report.find(type) },
|
reports: REPORTS.map { |type| Report.find(type).as_json },
|
||||||
problems: problems,
|
problems: problems,
|
||||||
admins: User.admins.count,
|
admins: User.admins.count,
|
||||||
moderators: User.moderators.count,
|
moderators: User.moderators.count,
|
||||||
top_referrers: IncomingLinksReport.find('top_referrers'),
|
top_referrers: IncomingLinksReport.find('top_referrers').as_json,
|
||||||
top_traffic_sources: IncomingLinksReport.find('top_traffic_sources'),
|
top_traffic_sources: IncomingLinksReport.find('top_traffic_sources').as_json,
|
||||||
top_referred_topics: IncomingLinksReport.find('top_referred_topics')
|
top_referred_topics: IncomingLinksReport.find('top_referred_topics').as_json
|
||||||
}.merge(
|
}.merge(
|
||||||
SiteSetting.version_checks? ? {version_check: DiscourseUpdates.check_version} : {}
|
SiteSetting.version_checks? ? {version_check: DiscourseUpdates.check_version} : {}
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue