From a540e87605871ffaa869cb987039d12c79f3b28c Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Wed, 28 Mar 2018 16:08:07 +0100 Subject: fix timezone problems with offline inspector comments Comments added offline by an inspector set the time in JavaScript using a UTC epoch. We need to add the FMS timezone to this so it's in the timezone the database expects for timestamps otherwise it's incorrect when we fetch it back out --- perllib/FixMyStreet/App/Controller/Report.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'perllib/FixMyStreet/App/Controller') diff --git a/perllib/FixMyStreet/App/Controller/Report.pm b/perllib/FixMyStreet/App/Controller/Report.pm index df4dc5f77..1646bc4d5 100644 --- a/perllib/FixMyStreet/App/Controller/Report.pm +++ b/perllib/FixMyStreet/App/Controller/Report.pm @@ -475,7 +475,13 @@ sub inspect : Private { if ($update_text || %update_params) { my $timestamp = \'current_timestamp'; if (my $saved_at = $c->get_param('saved_at')) { - $timestamp = DateTime->from_epoch( epoch => $saved_at ); + # this comes in as a UTC epoch but the database expects everything + # to have the FMS timezone so we need to add the timezone otherwise + # dates come back out the database at time +/- timezone offset. + $timestamp = DateTime->from_epoch( + time_zone => FixMyStreet->time_zone || FixMyStreet->local_time_zone, + epoch => $saved_at + ); } my $name = $c->user->from_body ? $c->user->from_body->name : $c->user->name; $problem->add_to_comments( { -- cgit v1.2.3