Class: Admin::DashboardController

Inherits:
StaffController
  • Object
show all
Defined in:
app/controllers/admin/dashboard_controller.rb

Instance Method Summary collapse

Instance Method Details

#generalObject



21
22
23
# File 'app/controllers/admin/dashboard_controller.rb', line 21

def general
  render json: AdminDashboardGeneralData.fetch_cached_stats
end

#indexObject



4
5
6
7
8
9
10
11
12
# File 'app/controllers/admin/dashboard_controller.rb', line 4

def index
  data = AdminDashboardIndexData.fetch_cached_stats

  if SiteSetting.version_checks?
    data.merge!(version_check: DiscourseUpdates.check_version.as_json)
  end

  render json: data
end

#mark_new_features_as_seenObject



44
45
46
47
# File 'app/controllers/admin/dashboard_controller.rb', line 44

def mark_new_features_as_seen
  DiscourseUpdates.mark_new_features_as_seen(current_user.id)
  render json: success_json
end

#moderationObject



14
15
# File 'app/controllers/admin/dashboard_controller.rb', line 14

def moderation
end

#new_featuresObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'app/controllers/admin/dashboard_controller.rb', line 29

def new_features
  new_features = DiscourseUpdates.new_features

  if current_user.admin? && most_recent = new_features&.first
    DiscourseUpdates.bump_last_viewed_feature_date(current_user.id, most_recent["created_at"])
  end

  data = {
    new_features: new_features,
    has_unseen_features: DiscourseUpdates.has_unseen_features?(current_user.id),
    release_notes_link: AdminDashboardGeneralData.fetch_cached_stats["release_notes_link"],
  }
  render json: data
end

#problemsObject



25
26
27
# File 'app/controllers/admin/dashboard_controller.rb', line 25

def problems
  render_json_dump(problems: AdminDashboardData.fetch_problems(check_force_https: request.ssl?))
end

#reportsObject



18
19
# File 'app/controllers/admin/dashboard_controller.rb', line 18

def reports
end

#securityObject



16
17
# File 'app/controllers/admin/dashboard_controller.rb', line 16

def security
end