Make sure metrics use the correct timezone

Closes #1032
This commit is contained in:
Graham Campbell
2015-11-07 13:18:38 +00:00
parent d379e41edf
commit 2d648e44ae
2 changed files with 42 additions and 4 deletions

View File

@@ -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);

View File

@@ -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);