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:
Chirag Chhatrala 2024-06-27 21:48:56 +05:30 committed by GitHub
parent 2ca2d97e8e
commit 6f7692541f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 16 additions and 0 deletions

View File

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