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:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user