diff --git a/app/controllers/api/v2/accounts/summary_reports_controller.rb b/app/controllers/api/v2/accounts/summary_reports_controller.rb index 40d5947b9..31cd6eece 100644 --- a/app/controllers/api/v2/accounts/summary_reports_controller.rb +++ b/app/controllers/api/v2/accounts/summary_reports_controller.rb @@ -36,6 +36,7 @@ class Api::V2::Accounts::SummaryReportsController < Api::V1::Accounts::BaseContr until: permitted_params[:until], business_hours: ActiveModel::Type::Boolean.new.cast(permitted_params[:business_hours]) } + @builder_params[:timezone_offset] = permitted_params[:timezone_offset] if permitted_params[:timezone_offset].present? end def render_report_with(builder_class, type: nil) @@ -45,7 +46,7 @@ class Api::V2::Accounts::SummaryReportsController < Api::V1::Accounts::BaseContr end def permitted_params - params.permit(:since, :until, :business_hours) + params.permit(:since, :until, :business_hours, :timezone_offset) end def date_range_too_long? diff --git a/app/javascript/dashboard/api/summaryReports.js b/app/javascript/dashboard/api/summaryReports.js index fad26bf6f..7c774c773 100644 --- a/app/javascript/dashboard/api/summaryReports.js +++ b/app/javascript/dashboard/api/summaryReports.js @@ -1,6 +1,8 @@ /* global axios */ import ApiClient from './ApiClient'; +const getTimeOffset = () => -new Date().getTimezoneOffset() / 60; + class SummaryReportsAPI extends ApiClient { constructor() { super('summary_reports', { accountScoped: true, apiVersion: 'v2' }); @@ -12,6 +14,7 @@ class SummaryReportsAPI extends ApiClient { since, until, business_hours: businessHours, + timezone_offset: getTimeOffset(), }, }); } @@ -22,6 +25,7 @@ class SummaryReportsAPI extends ApiClient { since, until, business_hours: businessHours, + timezone_offset: getTimeOffset(), }, }); } @@ -32,6 +36,7 @@ class SummaryReportsAPI extends ApiClient { since, until, business_hours: businessHours, + timezone_offset: getTimeOffset(), }, }); } @@ -42,6 +47,7 @@ class SummaryReportsAPI extends ApiClient { since, until, business_hours: businessHours, + timezone_offset: getTimeOffset(), }, }); }