From a031a6e5a5643a48c63549d96606016068698cda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Burak=20=C3=87ak=C4=B1rel?= Date: Thu, 28 Jan 2021 15:50:45 +0300 Subject: [PATCH] refs #1734 Add try-catch to show the formatting error to the user --- app/Abstracts/Import.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/Abstracts/Import.php b/app/Abstracts/Import.php index 775565c50..7cd59dbe8 100644 --- a/app/Abstracts/Import.php +++ b/app/Abstracts/Import.php @@ -4,19 +4,21 @@ namespace App\Abstracts; use App\Traits\Import as ImportHelper; use App\Utilities\Date; +use Carbon\Exceptions\InvalidFormatException; use Illuminate\Support\Arr; +use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Validator; use Illuminate\Support\Str; use Maatwebsite\Excel\Concerns\Importable; -use Maatwebsite\Excel\Concerns\ToModel; use Maatwebsite\Excel\Concerns\SkipsOnError; use Maatwebsite\Excel\Concerns\SkipsOnFailure; +use Maatwebsite\Excel\Concerns\ToModel; use Maatwebsite\Excel\Concerns\WithBatchInserts; use Maatwebsite\Excel\Concerns\WithChunkReading; use Maatwebsite\Excel\Concerns\WithHeadingRow; use Maatwebsite\Excel\Concerns\WithMapping; use Maatwebsite\Excel\Concerns\WithValidation; use Maatwebsite\Excel\Validators\Failure; -use Illuminate\Support\Facades\Validator; use PhpOffice\PhpSpreadsheet\Shared\Date as ExcelDate; abstract class Import implements ToModel, SkipsOnError, SkipsOnFailure, WithBatchInserts, WithChunkReading, WithHeadingRow, WithMapping, WithValidation @@ -45,7 +47,12 @@ abstract class Import implements ToModel, SkipsOnError, SkipsOnFailure, WithBatc continue; } - $row[$date_field] = Date::parse(ExcelDate::excelToDateTimeObject($row[$date_field]))->format('Y-m-d H:i:s'); + try { + $row[$date_field] = Date::parse(ExcelDate::excelToDateTimeObject($row[$date_field])) + ->format('Y-m-d H:i:s'); + } catch (InvalidFormatException | \Exception $e) { + Log::info($e->getMessage()); + } } return $row;