Fix time issue on scheduled form close (#467)
* Fix time issue on scheduled form close * handle empty value * fix lint --------- Co-authored-by: Julien Nahum <julien@nahum.net>
This commit is contained in:
parent
2ca2d97e8e
commit
6f7692541f
|
|
@ -19,6 +19,7 @@ use Illuminate\Support\Str;
|
||||||
use Spatie\Sluggable\HasSlug;
|
use Spatie\Sluggable\HasSlug;
|
||||||
use Spatie\Sluggable\SlugOptions;
|
use Spatie\Sluggable\SlugOptions;
|
||||||
use Stevebauman\Purify\Facades\Purify;
|
use Stevebauman\Purify\Facades\Purify;
|
||||||
|
use Carbon\Carbon;
|
||||||
|
|
||||||
class Form extends Model implements CachableAttributes
|
class Form extends Model implements CachableAttributes
|
||||||
{
|
{
|
||||||
|
|
@ -194,6 +195,21 @@ class Form extends Model implements CachableAttributes
|
||||||
$this->attributes['tags'] = json_encode($value);
|
$this->attributes['tags'] = json_encode($value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setClosesAtAttribute($value)
|
||||||
|
{
|
||||||
|
$this->attributes['closes_at'] = ($value) ? Carbon::parse($value)->setTimezone('UTC') : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getClosesAtAttribute($value)
|
||||||
|
{
|
||||||
|
if (!$value) {
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
// Retrieve the desired timezone from the request or default to 'UTC'
|
||||||
|
$timezone = request()->get('timezone', 'UTC');
|
||||||
|
return Carbon::parse($value)->setTimezone($timezone)->toIso8601String();
|
||||||
|
}
|
||||||
|
|
||||||
public function getIsClosedAttribute()
|
public function getIsClosedAttribute()
|
||||||
{
|
{
|
||||||
return $this->closes_at && now()->gt($this->closes_at);
|
return $this->closes_at && now()->gt($this->closes_at);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue