This commit is contained in:
James Cole 2018-06-24 13:59:20 +02:00
parent e05664f34f
commit 96b482dac5
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E

View File

@ -129,6 +129,28 @@ class ImportableConverter
$this->mappedValues = $mappedValues;
}
/**
* @param string|null $date
*
* @return string|null
*/
private function convertDateValue(string $date = null): ?string
{
if (null === $date) {
return null;
}
try {
$object = Carbon::createFromFormat($this->config['date-format'] ?? 'Ymd', $date);
} catch (InvalidDateException|InvalidArgumentException $e) {
Log::error($e->getMessage());
Log::error($e->getTraceAsString());
return null;
}
return $object->format('Y-m-d');
}
/**
* @param ImportTransaction $importable
*
@ -224,19 +246,13 @@ class ImportableConverter
throw new FireflyException($message);
}
// throw error when both are he same
try {
$date = Carbon::createFromFormat($this->config['date-format'] ?? 'Ymd', $importable->date);
} catch (InvalidDateException|InvalidArgumentException $e) {
Log::error($e->getMessage());
Log::error($e->getTraceAsString());
$date = new Carbon;
$dateStr = $this->convertDateValue($importable->date);
if (null === $dateStr) {
$date = new Carbon;
$dateStr = $date->format('Y-m-d');
unset($date);
}
$dateStr = $date->format('Y-m-d');
return [
'type' => $transactionType,
'date' => $dateStr,
@ -253,12 +269,12 @@ class ImportableConverter
'sepa-country' => $importable->meta['sepa-countru'] ?? null,
'sepa-ep' => $importable->meta['sepa-ep'] ?? null,
'sepa-ci' => $importable->meta['sepa-ci'] ?? null,
'interest_date' => $importable->meta['date-interest'] ?? null,
'book_date' => $importable->meta['date-book'] ?? null,
'process_date' => $importable->meta['date-process'] ?? null,
'due_date' => $importable->meta['date-due'] ?? null,
'payment_date' => $importable->meta['date-payment'] ?? null,
'invoice_date' => $importable->meta['date-invoice'] ?? null,
'interest_date' => $this->convertDateValue($importable->meta['date-interest'] ?? null),
'book_date' => $this->convertDateValue($importable->meta['date-book'] ?? null),
'process_date' => $this->convertDateValue($importable->meta['date-process'] ?? null),
'due_date' => $this->convertDateValue($importable->meta['date-due'] ?? null),
'payment_date' => $this->convertDateValue($importable->meta['date-payment'] ?? null),
'invoice_date' => $this->convertDateValue($importable->meta['date-invoice'] ?? null),
'external_id' => $importable->externalId,
// journal data: