Fix Jalali crash when creating task with invalid target_date.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-22 18:04:19 +03:30
co-authored by Cursor
parent 6caee30d9b
commit 54e995dadd
+13 -6
View File
@@ -265,12 +265,18 @@ class TaskController extends Controller
return null;
}
if (preg_match('/^(\d{4}-\d{2}-\d{2})/', $value, $m)) {
return $m[1];
}
try {
return Carbon::parse($value)->format('Y-m-d');
if (preg_match('/^(\d{4}-\d{2}-\d{2})/', $value, $m)) {
$carbon = Carbon::createFromFormat('Y-m-d', $m[1])->startOfDay();
} else {
$carbon = Carbon::parse($value);
}
if ($carbon->year < 1621 || $carbon->year > 2500) {
return null;
}
return $carbon->format('Y-m-d');
} catch (\Throwable $e) {
return null;
}
@@ -711,7 +717,8 @@ class TaskController extends Controller
$task = Tasks::create($data);
$message = "تسک جدیدی با عنوان {$data['title']} برای شما ایجاد شد.";
$deadline = !empty($data['target_date']) ? Jalalian::fromCarbon(Carbon::parse($data['target_date']))->format('Y-m-d') : null;
$deadline = \App\Support\JalaliHelper::format($data['target_date'] ?? null, 'Y/m/d', '');
$deadline = $deadline !== '' ? $deadline : null;
$app = App::find($data['app']);
$message_admin = "ایجاد تسک: «{$data['title']}»";
$message_admin .= !empty($app) ? "\nاپ {$app->name_fa}" : null;