Working on datetime mess

This commit is contained in:
Graham Campbell
2016-02-02 20:35:31 +00:00
parent 705b9e62dc
commit 4923a59b76
4 changed files with 30 additions and 31 deletions

View File

@@ -74,4 +74,18 @@ class DateFactory
{
return Date::createFromFormat($format, $time)->setTimezone($this->appTimezone);
}
/**
* Make a Carbon instance from a string.
*
* @param string $time
*
* @throws \InvalidArgumentException
*
* @return \Carbon\Carbon
*/
public function make($time)
{
return (new Date($time))->setTimezone($this->cachetTimezone);
}
}

View File

@@ -11,11 +11,11 @@
namespace CachetHQ\Cachet\Presenters;
use CachetHQ\Cachet\Dates\DateFactory;
use CachetHQ\Cachet\Presenters\Traits\TimestampsTrait;
use GrahamCampbell\Markdown\Facades\Markdown;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Support\Facades\Config;
use Jenssegers\Date\Date;
use McCool\LaravelAutoPresenter\BasePresenter;
class IncidentPresenter extends BasePresenter implements Arrayable
@@ -39,9 +39,7 @@ class IncidentPresenter extends BasePresenter implements Arrayable
*/
public function created_at_diff()
{
return (new Date($this->wrappedObject->created_at))
->setTimezone(Config::get('cachet.timezone'))
->diffForHumans();
return app(DateFactory::class)->make($this->wrappedObject->created_at)->diffForHumans();
}
/**
@@ -51,9 +49,7 @@ class IncidentPresenter extends BasePresenter implements Arrayable
*/
public function created_at_formatted()
{
return ucfirst((new Date($this->wrappedObject->created_at))
->setTimezone(Config::get('cachet.timezone'))
->format(Config::get('setting.incident_date_format', 'l jS F Y H:i:s')));
return ucfirst(app(DateFactory::class)->make($this->wrappedObject->created_at)->format(Config::get('setting.incident_date_format', 'l jS F Y H:i:s')));
}
/**
@@ -83,8 +79,7 @@ class IncidentPresenter extends BasePresenter implements Arrayable
*/
public function scheduled_at()
{
return (new Date($this->wrappedObject->scheduled_at))
->setTimezone(Config::get('cachet.timezone'))->toDateTimeString();
return app(DateFactory::class)->make($this->wrappedObject->scheduled_at)->toDateTimeString();
}
/**
@@ -94,9 +89,7 @@ class IncidentPresenter extends BasePresenter implements Arrayable
*/
public function scheduled_at_diff()
{
return (new Date($this->wrappedObject->scheduled_at))
->setTimezone(Config::get('cachet.timezone'))
->diffForHumans();
return app(DateFactory::class)->make($this->wrappedObject->scheduled_at)->diffForHumans();
}
/**
@@ -106,9 +99,7 @@ class IncidentPresenter extends BasePresenter implements Arrayable
*/
public function scheduled_at_formatted()
{
return ucfirst((new Date($this->wrappedObject->scheduled_at))
->setTimezone(Config::get('cachet.timezone'))
->format(Config::get('setting.incident_date_format', 'l jS F Y H:i:s')));
return ucfirst(app(DateFactory::class)->make($this->wrappedObject->created_at)->format(Config::get('setting.incident_date_format', 'l jS F Y H:i:s')));
}
/**
@@ -140,9 +131,9 @@ class IncidentPresenter extends BasePresenter implements Arrayable
{
if ($this->wrappedObject->is_scheduled) {
return $this->scheduled_at_formatted;
} else {
return $this->created_at_formatted;
}
return $this->created_at_formatted;
}
/**
@@ -154,9 +145,9 @@ class IncidentPresenter extends BasePresenter implements Arrayable
{
if ($this->wrappedObject->is_scheduled) {
return $this->scheduled_at_iso;
} else {
return $this->created_at_iso;
}
return $this->created_at_iso;
}
/**

View File

@@ -11,10 +11,9 @@
namespace CachetHQ\Cachet\Presenters;
use CachetHQ\Cachet\Dates\DateFactory;
use CachetHQ\Cachet\Presenters\Traits\TimestampsTrait;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Support\Facades\Config;
use Jenssegers\Date\Date;
use McCool\LaravelAutoPresenter\BasePresenter;
class SubscriberPresenter extends BasePresenter implements Arrayable
@@ -28,8 +27,7 @@ class SubscriberPresenter extends BasePresenter implements Arrayable
*/
public function verified_at()
{
return (new Date($this->wrappedObject->verified_at))
->setTimezone(Config::get('cachet.timezone'))->toDateTimeString();
return app(DateFactory::class)->make($this->wrappedObject->verified_at)->toDateTimeString();
}
/**

View File

@@ -11,8 +11,7 @@
namespace CachetHQ\Cachet\Presenters\Traits;
use Illuminate\Support\Facades\Config;
use Jenssegers\Date\Date;
use CachetHQ\Cachet\Dates\DateFactory;
trait TimestampsTrait
{
@@ -23,8 +22,7 @@ trait TimestampsTrait
*/
public function created_at()
{
return (new Date($this->wrappedObject->created_at))
->setTimezone(Config::get('cachet.timezone'))->toDateTimeString();
return app(DateFactory::class)->make($this->wrappedObject->created_at)->toDateTimeString();
}
/**
@@ -34,8 +32,7 @@ trait TimestampsTrait
*/
public function updated_at()
{
return (new Date($this->wrappedObject->updated_at))
->setTimezone(Config::get('cachet.timezone'))->toDateTimeString();
return app(DateFactory::class)->make($this->wrappedObject->updated_at)->toDateTimeString();
}
/**
@@ -45,7 +42,6 @@ trait TimestampsTrait
*/
public function deleted_at()
{
return (new Date($this->wrappedObject->deleted_at))
->setTimezone(Config::get('cachet.timezone'))->toDateTimeString();
return app(DateFactory::class)->make($this->wrappedObject->deleted_at)->toDateTimeString();
}
}