From f5febe5843add8ae536d103158b8e61150eb8dd8 Mon Sep 17 00:00:00 2001 From: Arpit Jalan Date: Sun, 8 Apr 2018 16:49:41 +0530 Subject: [PATCH] FIX: date range was inconsistent for admin dashboard reports --- app/assets/javascripts/admin/models/report.js.es6 | 4 ++-- app/assets/javascripts/admin/routes/admin-reports.js.es6 | 4 ++-- app/jobs/regular/export_csv_file.rb | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/admin/models/report.js.es6 b/app/assets/javascripts/admin/models/report.js.es6 index 86281929ae0..3ed442bb0d2 100644 --- a/app/assets/javascripts/admin/models/report.js.es6 +++ b/app/assets/javascripts/admin/models/report.js.es6 @@ -161,8 +161,8 @@ Report.reopenClass({ }).then(json => { // Add zero values for missing dates if (json.report.data.length > 0) { - const startDateFormatted = moment(json.report.start_date).format('YYYY-MM-DD'); - const endDateFormatted = moment(json.report.end_date).format('YYYY-MM-DD'); + const startDateFormatted = moment(json.report.start_date).utc().format('YYYY-MM-DD'); + const endDateFormatted = moment(json.report.end_date).utc().format('YYYY-MM-DD'); json.report.data = fillMissingDates(json.report.data, startDateFormatted, endDateFormatted); } diff --git a/app/assets/javascripts/admin/routes/admin-reports.js.es6 b/app/assets/javascripts/admin/routes/admin-reports.js.es6 index 65771110e86..acddcff5d61 100644 --- a/app/assets/javascripts/admin/routes/admin-reports.js.es6 +++ b/app/assets/javascripts/admin/routes/admin-reports.js.es6 @@ -12,8 +12,8 @@ export default Discourse.Route.extend({ model: model, categoryId: (model.get('category_id') || 'all'), groupId: model.get('group_id'), - startDate: moment(model.get('start_date')).format('YYYY-MM-DD'), - endDate: moment(model.get('end_date')).format('YYYY-MM-DD') + startDate: moment(model.get('start_date')).utc().format('YYYY-MM-DD'), + endDate: moment(model.get('end_date')).utc().format('YYYY-MM-DD') }); } }); diff --git a/app/jobs/regular/export_csv_file.rb b/app/jobs/regular/export_csv_file.rb index 0a0899e5728..1212bb1c875 100644 --- a/app/jobs/regular/export_csv_file.rb +++ b/app/jobs/regular/export_csv_file.rb @@ -142,8 +142,8 @@ module Jobs def report_export return enum_for(:report_export) unless block_given? - @extra[:start_date] = @extra[:start_date].to_date if @extra[:start_date].is_a?(String) - @extra[:end_date] = @extra[:end_date].to_date if @extra[:end_date].is_a?(String) + @extra[:start_date] = @extra[:start_date].to_date.beginning_of_day if @extra[:start_date].is_a?(String) + @extra[:end_date] = @extra[:end_date].to_date.end_of_day if @extra[:end_date].is_a?(String) @extra[:category_id] = @extra[:category_id].present? ? @extra[:category_id].to_i : nil @extra[:group_id] = @extra[:group_id].present? ? @extra[:group_id].to_i : nil @@ -152,7 +152,7 @@ module Jobs report_hash[row[:x].to_s(:db)] = row[:y].to_s(:db) end - (@extra[:start_date]..@extra[:end_date]).each do |date| + (@extra[:start_date].to_date..@extra[:end_date].to_date).each do |date| yield [date.to_s(:db), report_hash.fetch(date.to_s(:db), 0)] end end