From 2d648e44aea946c3b9b70817ceb44a9b355dd9c6 Mon Sep 17 00:00:00 2001 From: Graham Campbell Date: Sat, 7 Nov 2015 13:18:38 +0000 Subject: [PATCH] Make sure metrics use the correct timezone Closes #1032 --- .../Metric/AddMetricPointCommandHandler.php | 23 +++++++++++++++++-- .../UpdateMetricPointCommandHandler.php | 23 +++++++++++++++++-- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/app/Handlers/Commands/Metric/AddMetricPointCommandHandler.php b/app/Handlers/Commands/Metric/AddMetricPointCommandHandler.php index 962b1623..048f85a0 100644 --- a/app/Handlers/Commands/Metric/AddMetricPointCommandHandler.php +++ b/app/Handlers/Commands/Metric/AddMetricPointCommandHandler.php @@ -12,12 +12,31 @@ namespace CachetHQ\Cachet\Handlers\Commands\Metric; use CachetHQ\Cachet\Commands\Metric\AddMetricPointCommand; +use CachetHQ\Cachet\Dates\DateFactory; use CachetHQ\Cachet\Events\Metric\MetricPointWasAddedEvent; use CachetHQ\Cachet\Models\MetricPoint; -use Carbon\Carbon; class AddMetricPointCommandHandler { + /** + * The date factory instance. + * + * @var \CachetHQ\Cachet\Dates\DateFactory + */ + protected $dates; + + /** + * Create a new add metric point command handler instance. + * + * @param \CachetHQ\Cachet\Dates\DateFactory $dates + * + * @return void + */ + public function __construct(DateFactory $dates) + { + $this->dates = $dates; + } + /** * Handle the add metric point command. * @@ -36,7 +55,7 @@ class AddMetricPointCommandHandler ]; if ($createdAt) { - $data['created_at'] = Carbon::createFromFormat('U', $createdAt)->format('Y-m-d H:i:s'); + $data['created_at'] = $this->dates->create('U', $createdAt)->format('Y-m-d H:i:s'); } $metricPoint = MetricPoint::create($data); diff --git a/app/Handlers/Commands/Metric/UpdateMetricPointCommandHandler.php b/app/Handlers/Commands/Metric/UpdateMetricPointCommandHandler.php index 823d254e..4a9fc156 100644 --- a/app/Handlers/Commands/Metric/UpdateMetricPointCommandHandler.php +++ b/app/Handlers/Commands/Metric/UpdateMetricPointCommandHandler.php @@ -12,11 +12,30 @@ namespace CachetHQ\Cachet\Handlers\Commands\Metric; use CachetHQ\Cachet\Commands\Metric\UpdateMetricPointCommand; +use CachetHQ\Cachet\Dates\DateFactory; use CachetHQ\Cachet\Events\Metric\MetricPointWasUpdatedEvent; -use Carbon\Carbon; class UpdateMetricPointCommandHandler { + /** + * The date factory instance. + * + * @var \CachetHQ\Cachet\Dates\DateFactory + */ + protected $dates; + + /** + * Create a new update metric point command handler instance. + * + * @param \CachetHQ\Cachet\Dates\DateFactory $dates + * + * @return void + */ + public function __construct(DateFactory $dates) + { + $this->dates = $dates; + } + /** * Handle the update metric point command. * @@ -36,7 +55,7 @@ class UpdateMetricPointCommandHandler ]; if ($createdAt) { - $data['created_at'] = Carbon::createFromFormat('U', $createdAt)->format('Y-m-d H:i:s'); + $data['created_at'] = $this->dates->create('U', $createdAt)->format('Y-m-d H:i:s'); } $point->update($data);