diff --git a/app/assets/javascripts/admin/routes/admin_dashboard_route.js b/app/assets/javascripts/admin/routes/admin_dashboard_route.js
index 74845ee5174..769d19870ae 100644
--- a/app/assets/javascripts/admin/routes/admin_dashboard_route.js
+++ b/app/assets/javascripts/admin/routes/admin_dashboard_route.js
@@ -26,6 +26,7 @@ Discourse.AdminDashboardRoute = Discourse.Route.extend({
d.reports.each(function(report){
c.set(report.type, Discourse.Report.create(report));
});
+ c.set('totalUsers', d.total_users);
c.set('loading', false);
});
}
diff --git a/app/assets/javascripts/admin/templates/dashboard.js.handlebars b/app/assets/javascripts/admin/templates/dashboard.js.handlebars
index 266947fa95e..bd4cde74b2c 100644
--- a/app/assets/javascripts/admin/templates/dashboard.js.handlebars
+++ b/app/assets/javascripts/admin/templates/dashboard.js.handlebars
@@ -38,6 +38,15 @@
+
@@ -70,7 +79,6 @@
{{#unless loading}}
- {{ render 'admin_report_total_users' total_users }}
{{ render 'admin_report_visits' visits }}
{{/unless}}
diff --git a/app/assets/stylesheets/admin/admin_base.scss b/app/assets/stylesheets/admin/admin_base.scss
index bee0325f099..2d6a1e38c9b 100644
--- a/app/assets/stylesheets/admin/admin_base.scss
+++ b/app/assets/stylesheets/admin/admin_base.scss
@@ -324,6 +324,14 @@ table {
text-align: center;
}
}
+
+ &.totals {
+ width: 160px;
+
+ table tr:first-child td {
+ border-top: none;
+ }
+ }
}
diff --git a/app/controllers/admin/dashboard_controller.rb b/app/controllers/admin/dashboard_controller.rb
index 9d34bbaf4ee..3bf4263bdce 100644
--- a/app/controllers/admin/dashboard_controller.rb
+++ b/app/controllers/admin/dashboard_controller.rb
@@ -2,7 +2,8 @@ class Admin::DashboardController < Admin::AdminController
def index
render_json_dump({
- reports: ['visits', 'signups', 'topics', 'posts', 'total_users', 'flags'].map { |type| Report.find(type) }
+ reports: ['visits', 'signups', 'topics', 'posts', 'flags'].map { |type| Report.find(type) },
+ total_users: User.count
}.merge(
SiteSetting.version_checks? ? {version_check: DiscourseUpdates.check_version} : {}
))
diff --git a/app/models/report.rb b/app/models/report.rb
index 31d22e4933f..038fe34ec33 100644
--- a/app/models/report.rb
+++ b/app/models/report.rb
@@ -69,17 +69,6 @@ class Report
end
end
- def self.report_total_users(report)
- report.data = []
- fetch report do
- (0..30).to_a.reverse.each do |i|
- if (count = User.where('created_at < ?', i.days.ago).count) > 0
- report.data << {x: i.days.ago.to_date.to_s, y: count}
- end
- end
- end
- end
-
def self.report_flags(report)
report.data = []
fetch report do
diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml
index 6711ebcd8f8..3065cb9d3d0 100644
--- a/config/locales/client.en.yml
+++ b/config/locales/client.en.yml
@@ -690,6 +690,7 @@ en:
please_upgrade: "Please upgrade!"
latest_version: "Latest version"
update_often: 'Please update often!'
+ total_users: "Total Users"
reports:
today: "Today"
diff --git a/spec/models/report_spec.rb b/spec/models/report_spec.rb
index f451d6df6af..daa7033e7ce 100644
--- a/spec/models/report_spec.rb
+++ b/spec/models/report_spec.rb
@@ -58,29 +58,6 @@ describe Report do
end
end
- describe "total_users report" do
- let(:report) { Report.find("total_users", cache: false) }
-
- context "no total_users" do
- it 'returns an empty report' do
- report.data.should be_blank
- end
- end
-
- context "with users" do
- before do
- Fabricate(:user, created_at: 25.hours.ago)
- Fabricate(:user, created_at: 1.hours.ago)
- Fabricate(:user, created_at: 1.hours.ago)
- end
-
- it 'returns correct data' do
- report.data[0][:y].should == 1
- report.data[1][:y].should == 3
- end
- end
- end
-
describe '#fetch' do
context 'signups' do
let(:report) { Report.find('signups', cache: true) }