diff --git a/app/Import/Transformer/BaseTransformer.php b/app/Import/Transformer/BaseTransformer.php index 4752f2e6cd84..46775ac07024 100644 --- a/app/Import/Transformer/BaseTransformer.php +++ b/app/Import/Transformer/BaseTransformer.php @@ -44,6 +44,30 @@ class BaseTransformer $this->company = $company; } + public function parseDate($date) + { + + try{ + + $parsed_date = Carbon::parse($date); + + return $parsed_date->format('Y-m-d'); + + } + catch(\Exception $e){ + + $parsed_date = date('Y-m-d', strtotime($date)); + + if($parsed_date == '1970-01-01') + return now()->format('Y-m-d'); + + return $parsed_date; + + } + + + } + public function getString($data, $field) { return isset($data[$field]) && $data[$field] ? trim($data[$field]) : ''; diff --git a/app/Import/Transformer/Csv/InvoiceTransformer.php b/app/Import/Transformer/Csv/InvoiceTransformer.php index 7648651c82be..edb8884ed353 100644 --- a/app/Import/Transformer/Csv/InvoiceTransformer.php +++ b/app/Import/Transformer/Csv/InvoiceTransformer.php @@ -57,10 +57,10 @@ class InvoiceTransformer extends BaseTransformer 'discount' => $this->getFloat($invoice_data, 'invoice.discount'), 'po_number' => $this->getString($invoice_data, 'invoice.po_number'), 'date' => isset($invoice_data['invoice.date']) - ? date('Y-m-d', strtotime(str_replace("/","-",$invoice_data['invoice.date']))) + ? $this->parseDate($invoice_data['invoice.date']) : now()->format('Y-m-d'), 'due_date' => isset($invoice_data['invoice.due_date']) - ? date('Y-m-d', strtotime(str_replace("/","-",$invoice_data['invoice.due_date']))) + ? $this->parseDate($invoice_data['invoice.due_date']) : null, 'terms' => $this->getString($invoice_data, 'invoice.terms'), 'public_notes' => $this->getString( @@ -140,10 +140,7 @@ class InvoiceTransformer extends BaseTransformer $transformed['payments'] = [ [ 'date' => isset($invoice_data['payment.date']) - ? date( - 'Y-m-d', - strtotime($invoice_data['payment.date']) - ) + ? $this->parseDate($invoice_data['payment.date']) : date('y-m-d'), 'transaction_reference' => $this->getString( $invoice_data, @@ -159,10 +156,7 @@ class InvoiceTransformer extends BaseTransformer $transformed['payments'] = [ [ 'date' => isset($invoice_data['payment.date']) - ? date( - 'Y-m-d', - strtotime($invoice_data['payment.date']) - ) + ? $this->parseDate($invoice_data['payment.date']) : date('y-m-d'), 'transaction_reference' => $this->getString( $invoice_data, @@ -182,10 +176,7 @@ class InvoiceTransformer extends BaseTransformer $transformed['payments'] = [ [ 'date' => isset($invoice_data['payment.date']) - ? date( - 'Y-m-d', - strtotime($invoice_data['payment.date']) - ) + ? $this->parseDate($invoice_data['payment.date']) : date('y-m-d'), 'transaction_reference' => $this->getString( $invoice_data, diff --git a/app/Jobs/Import/CSVIngest.php b/app/Jobs/Import/CSVIngest.php index d19691825cf0..fea1c441542f 100644 --- a/app/Jobs/Import/CSVIngest.php +++ b/app/Jobs/Import/CSVIngest.php @@ -23,6 +23,7 @@ use App\Libraries\MultiDB; use App\Models\Client; use App\Models\Company; use App\Models\Vendor; +use App\Utils\Ninja; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; @@ -81,6 +82,10 @@ class CSVIngest implements ShouldQueue $engine->finalizeImport(); $this->checkContacts(); + + if(Ninja::isHosted()) + app('queue.worker')->shouldQuit = 1; + } private function checkContacts()