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\SlugOptions;
|
||||
use Stevebauman\Purify\Facades\Purify;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class Form extends Model implements CachableAttributes
|
||||
{
|
||||
|
|
@ -194,6 +195,21 @@ class Form extends Model implements CachableAttributes
|
|||
$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()
|
||||
{
|
||||
return $this->closes_at && now()->gt($this->closes_at);
|
||||
|
|
|
|||
Loading…
Reference in New Issue