|
8 | 8 | **/ |
9 | 9 | Discourse.AdminDashboardRoute = Discourse.Route.extend({ |
10 | 10 | setupController: function(c) { |
11 | | - this.checkVersion(c); |
12 | | - this.fetchReports(c); |
| 11 | + this.fetchDashboardData(c); |
13 | 12 | this.fetchGithubCommits(c); |
14 | 13 | }, |
15 | 14 |
|
16 | 15 | renderTemplate: function() { |
17 | 16 | this.render({into: 'admin/templates/admin'}); |
18 | 17 | }, |
19 | 18 |
|
20 | | - checkVersion: function(c) { |
21 | | - if( Discourse.SiteSettings.version_checks && (!c.get('versionCheckedAt') || Date.create('12 hours ago', 'en') > c.get('versionCheckedAt')) ) { |
22 | | - c.set('versionCheckedAt', new Date()); |
23 | | - Discourse.VersionCheck.find().then(function(vc) { |
24 | | - c.set('versionCheck', vc); |
| 19 | + fetchDashboardData: function(c) { |
| 20 | + if( !c.get('dashboardFetchedAt') || Date.create('1 hour ago', 'en') > c.get('dashboardFetchedAt') ) { |
| 21 | + c.set('dashboardFetchedAt', new Date()); |
| 22 | + Discourse.AdminDashboard.find().then(function(d) { |
| 23 | + if( Discourse.SiteSettings.version_checks ){ |
| 24 | + c.set('versionCheck', Discourse.VersionCheck.create(d.version_check)); |
| 25 | + } |
| 26 | + d.reports.each(function(report){ |
| 27 | + c.set(report.type, Discourse.Report.create(report)); |
| 28 | + }); |
25 | 29 | c.set('loading', false); |
26 | 30 | }); |
27 | 31 | } |
28 | 32 | }, |
29 | 33 |
|
30 | | - fetchReports: function(c) { |
31 | | - if( !c.get('reportsCheckedAt') || Date.create('1 hour ago', 'en') > c.get('reportsCheckedAt') ) { |
32 | | - // TODO: use one request to get all reports, or maybe one request for all dashboard data including version check. |
33 | | - c.set('reportsCheckedAt', new Date()); |
34 | | - ['visits', 'signups', 'topics', 'posts', 'total_users', 'flags'].each(function(reportType){ |
35 | | - c.set(reportType, Discourse.Report.find(reportType)); |
36 | | - }); |
37 | | - } |
38 | | - }, |
39 | | - |
40 | 34 | fetchGithubCommits: function(c) { |
41 | 35 | if( !c.get('commitsCheckedAt') || Date.create('1 hour ago', 'en') > c.get('commitsCheckedAt') ) { |
42 | 36 | c.set('commitsCheckedAt', new Date()); |
|
0 commit comments