|
7 | 7 | use DateTime;
|
8 | 8 | use Illuminate\Container\EntryNotFoundException;
|
9 | 9 | use Illuminate\Contracts\Container\BindingResolutionException;
|
| 10 | + use Illuminate\Support\Facades\Log; |
10 | 11 | use Illuminate\Support\Str;
|
11 | 12 | use Leantime\Core\Configuration\Environment as EnvironmentCore;
|
12 | 13 | use Leantime\Core\Events\DispatchesEvents;
|
@@ -720,7 +721,14 @@ public function getOpenUserTicketsThisWeekAndLater($userId, $projectId, bool $in
|
720 | 721 | }
|
721 | 722 | } else {
|
722 | 723 | $today = dtHelper()->userNow()->setToDbTimezone();
|
723 |
| - $dbDueDate = dtHelper()->parseDbDateTime($row['dateToFinish']); |
| 724 | + |
| 725 | + try { |
| 726 | + $dbDueDate = dtHelper()->parseDbDateTime($row['dateToFinish']); |
| 727 | + }catch(\Exception $e){ |
| 728 | + Log::warning('Error in DB Due date parsing: '.$e->getMessage()); |
| 729 | + $dbDueDate = dtHelper()->userNow()->addYears(); |
| 730 | + } |
| 731 | + |
724 | 732 | $nextFriday = dtHelper()->userNow()->endOfWeek(CarbonInterface::FRIDAY)->setToDbTimezone();
|
725 | 733 |
|
726 | 734 | if ($dbDueDate <= $nextFriday && $dbDueDate >= $today) {
|
@@ -2290,57 +2298,78 @@ public function prepareTicketDates(&$values)
|
2290 | 2298 | // Prepare dates for db
|
2291 | 2299 | if (! empty($values['dateToFinish'])) {
|
2292 | 2300 |
|
2293 |
| - if ($values['dateToFinish'] instanceof CarbonImmutable) { |
2294 |
| - $values['dateToFinish'] = $values['dateToFinish']->formatDateTimeForDb(); |
2295 |
| - } else { |
2296 |
| - if (isset($values['timeToFinish']) && $values['timeToFinish'] != null) { |
2297 |
| - $values['dateToFinish'] = dtHelper()->parseUserDateTime($values['dateToFinish'], $values['timeToFinish'])->formatDateTimeForDb(); |
2298 |
| - unset($values['timeToFinish']); |
| 2301 | + try { |
| 2302 | + if ($values['dateToFinish'] instanceof CarbonImmutable) { |
| 2303 | + $values['dateToFinish'] = $values['dateToFinish']->formatDateTimeForDb(); |
2299 | 2304 | } else {
|
2300 |
| - $values['dateToFinish'] = dtHelper()->parseUserDateTime($values['dateToFinish'], 'end')->formatDateTimeForDb(); |
| 2305 | + if (isset($values['timeToFinish']) && $values['timeToFinish'] != null) { |
| 2306 | + $values['dateToFinish'] = dtHelper()->parseUserDateTime( |
| 2307 | + $values['dateToFinish'], |
| 2308 | + $values['timeToFinish'] |
| 2309 | + )->formatDateTimeForDb(); |
| 2310 | + unset($values['timeToFinish']); |
| 2311 | + } else { |
| 2312 | + $values['dateToFinish'] = dtHelper()->parseUserDateTime( |
| 2313 | + $values['dateToFinish'], |
| 2314 | + 'end' |
| 2315 | + )->formatDateTimeForDb(); |
| 2316 | + } |
2301 | 2317 | }
|
| 2318 | + } catch (\Exception $e) { |
| 2319 | + $values['dateToFinish'] = ''; |
2302 | 2320 | }
|
2303 | 2321 | }
|
2304 | 2322 |
|
2305 | 2323 | if (! empty($values['editFrom'])) {
|
2306 | 2324 |
|
2307 |
| - if ($values['editFrom'] instanceof CarbonImmutable) { |
2308 |
| - $values['editFrom'] = $values['editFrom']->formatDateTimeForDb(); |
2309 |
| - } else { |
2310 |
| - if (isset($values['timeFrom']) && $values['timeFrom'] != null) { |
2311 |
| - $values['editFrom'] = dtHelper()->parseUserDateTime( |
2312 |
| - $values['editFrom'], |
2313 |
| - $values['timeFrom'], |
2314 |
| - FromFormat::UserDateTime |
2315 |
| - )->formatDateTimeForDb(); |
2316 |
| - unset($values['timeFrom']); |
| 2325 | + try { |
| 2326 | + if ($values['editFrom'] instanceof CarbonImmutable) { |
| 2327 | + $values['editFrom'] = $values['editFrom']->formatDateTimeForDb(); |
2317 | 2328 | } else {
|
2318 |
| - $values['editFrom'] = dtHelper()->parseUserDateTime( |
2319 |
| - $values['editFrom'], |
2320 |
| - 'start' |
2321 |
| - )->formatDateTimeForDb(); |
| 2329 | + if (isset($values['timeFrom']) && $values['timeFrom'] != null) { |
| 2330 | + $values['editFrom'] = dtHelper()->parseUserDateTime( |
| 2331 | + $values['editFrom'], |
| 2332 | + $values['timeFrom'], |
| 2333 | + FromFormat::UserDateTime |
| 2334 | + )->formatDateTimeForDb(); |
| 2335 | + unset($values['timeFrom']); |
| 2336 | + } else { |
| 2337 | + $values['editFrom'] = dtHelper()->parseUserDateTime( |
| 2338 | + $values['editFrom'], |
| 2339 | + 'start' |
| 2340 | + )->formatDateTimeForDb(); |
| 2341 | + } |
2322 | 2342 | }
|
| 2343 | + } catch (\Exception $e) { |
| 2344 | + $values['editFrom'] = ''; |
2323 | 2345 | }
|
2324 | 2346 | }
|
2325 | 2347 |
|
2326 | 2348 | if (! empty($values['editTo'])) {
|
2327 | 2349 |
|
2328 |
| - if ($values['editTo'] instanceof CarbonImmutable) { |
2329 |
| - $values['editTo'] = $values['editTo']->formatDateTimeForDb(); |
2330 |
| - } else { |
2331 |
| - if (isset($values['timeTo']) && $values['timeTo'] != null) { |
2332 |
| - $values['editTo'] = dtHelper()->parseUserDateTime( |
2333 |
| - $values['editTo'], |
2334 |
| - $values['timeTo'] |
2335 |
| - )->formatDateTimeForDb(); |
2336 |
| - unset($values['timeTo']); |
| 2350 | + try { |
| 2351 | + |
| 2352 | + if ($values['editTo'] instanceof CarbonImmutable) { |
| 2353 | + $values['editTo'] = $values['editTo']->formatDateTimeForDb(); |
2337 | 2354 | } else {
|
2338 |
| - $values['editTo'] = dtHelper()->parseUserDateTime( |
2339 |
| - $values['editTo'], |
2340 |
| - 'end' |
2341 |
| - )->formatDateTimeForDb(); |
| 2355 | + if (isset($values['timeTo']) && $values['timeTo'] != null) { |
| 2356 | + $values['editTo'] = dtHelper()->parseUserDateTime( |
| 2357 | + $values['editTo'], |
| 2358 | + $values['timeTo'] |
| 2359 | + )->formatDateTimeForDb(); |
| 2360 | + unset($values['timeTo']); |
| 2361 | + } else { |
| 2362 | + $values['editTo'] = dtHelper()->parseUserDateTime( |
| 2363 | + $values['editTo'], |
| 2364 | + 'end' |
| 2365 | + )->formatDateTimeForDb(); |
| 2366 | + } |
2342 | 2367 | }
|
| 2368 | + |
| 2369 | + } catch (\Exception $e) { |
| 2370 | + $values['editTo'] = ''; |
2343 | 2371 | }
|
| 2372 | + |
2344 | 2373 | }
|
2345 | 2374 |
|
2346 | 2375 | return $values;
|
|
0 commit comments