From eb33f6e9b9a0304e4921edef23291bee714a7118 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 15 May 2018 10:17:17 +1000 Subject: [PATCH] correct daily engaged users to look at average --- .../admin/components/dashboard-mini-chart.js.es6 | 2 ++ app/assets/javascripts/admin/models/report.js.es6 | 6 ++++-- .../admin/templates/components/dashboard-mini-chart.hbs | 2 +- app/assets/javascripts/admin/templates/dashboard_next.hbs | 2 ++ app/models/report.rb | 7 ++++++- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/admin/components/dashboard-mini-chart.js.es6 b/app/assets/javascripts/admin/components/dashboard-mini-chart.js.es6 index e8dee7a5b3f..9839e3296fb 100644 --- a/app/assets/javascripts/admin/components/dashboard-mini-chart.js.es6 +++ b/app/assets/javascripts/admin/components/dashboard-mini-chart.js.es6 @@ -33,6 +33,7 @@ export default Ember.Component.extend(AsyncReport, { backgroundColor: "rgba(200,220,240,0.3)", borderColor: "#08C", average: false, + percent: false, total: 0, @computed("dataSourceName") @@ -142,6 +143,7 @@ export default Ember.Component.extend(AsyncReport, { this.get("startDate").isSame(this.get("endDate"), "day"); report.set("average", this.get("average")); + report.set("percent", this.get("percent")); this.setProperties({ oneDataPoint, report }); }, diff --git a/app/assets/javascripts/admin/models/report.js.es6 b/app/assets/javascripts/admin/models/report.js.es6 index 49c2508abb3..853457570d6 100644 --- a/app/assets/javascripts/admin/models/report.js.es6 +++ b/app/assets/javascripts/admin/models/report.js.es6 @@ -177,8 +177,10 @@ const Report = Discourse.Model.extend({ if (this.get('average')) { prev = prev ? prev.toFixed(1) : "0"; - current += '%'; - prev += '%'; + if (this.get('percent')) { + current += '%'; + prev += '%'; + } } return I18n.t('admin.dashboard.reports.trend_title', {percent: percent, prev: prev, current: current}); diff --git a/app/assets/javascripts/admin/templates/components/dashboard-mini-chart.hbs b/app/assets/javascripts/admin/templates/components/dashboard-mini-chart.hbs index 8f0210f6966..09aa8342539 100644 --- a/app/assets/javascripts/admin/templates/components/dashboard-mini-chart.hbs +++ b/app/assets/javascripts/admin/templates/components/dashboard-mini-chart.hbs @@ -9,7 +9,7 @@
{{#if average}} - {{report.currentAverage}}% + {{report.currentAverage}}{{if percent "%"}} {{else}} diff --git a/app/assets/javascripts/admin/templates/dashboard_next.hbs b/app/assets/javascripts/admin/templates/dashboard_next.hbs index 0751301a620..d6b0660e55f 100644 --- a/app/assets/javascripts/admin/templates/dashboard_next.hbs +++ b/app/assets/javascripts/admin/templates/dashboard_next.hbs @@ -38,11 +38,13 @@ {{dashboard-mini-chart dataSourceName="dau_by_mau" average=true + percent=true startDate=startDate endDate=endDate}} {{dashboard-mini-chart dataSourceName="daily_engaged_users" + average=true startDate=startDate endDate=endDate}} diff --git a/app/models/report.rb b/app/models/report.rb index ddb6fe42f80..7f87778f232 100644 --- a/app/models/report.rb +++ b/app/models/report.rb @@ -188,7 +188,12 @@ class Report if report.facets.include?(:prev_period) prev_data = UserAction.count_daily_engaged_users(report.start_date - (report.end_date - report.start_date), report.start_date) - report.prev_period = prev_data.sum { |k, v| v } + + prev = prev_data.sum { |k, v| v } + if prev > 0 + prev = prev / ((report.end_date - report.start_date) / 1.day) + end + report.prev_period = prev end data.each do |key, value|