From bc14df46589c8fe417d47e086d3811b4ba6b5ca6 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 24 Nov 2015 22:41:08 +0200 Subject: [PATCH] Working on invoice CSV import --- app/Models/Invoice.php | 2 +- app/Ninja/Import/CSV/InvoiceTransformer.php | 6 +++--- app/Ninja/Import/CSV/PaymentTransformer.php | 2 +- app/Services/ImportService.php | 6 ++++++ 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index 22f5b75b6704..dda8eaa2cc5d 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -69,7 +69,7 @@ class Invoice extends EntityModel implements BalanceAffecting 'amount' => Invoice::$fieldAmount, 'organization' => 'name', 'paid' => 'paid', - 'create_date' => Invoice::$fieldInvoiceDate, + 'invoice_date' => Invoice::$fieldInvoiceDate, 'terms' => 'terms', 'notes' => 'notes', ]; diff --git a/app/Ninja/Import/CSV/InvoiceTransformer.php b/app/Ninja/Import/CSV/InvoiceTransformer.php index 17d802774e2f..d18d4d7b1559 100644 --- a/app/Ninja/Import/CSV/InvoiceTransformer.php +++ b/app/Ninja/Import/CSV/InvoiceTransformer.php @@ -11,13 +11,13 @@ class InvoiceTransformer extends TransformerAbstract if (isset($maps[ENTITY_INVOICE][$data->invoice_number])) { return false; } - + if (isset($maps[ENTITY_CLIENT][$data->name])) { $data->client_id = $maps[ENTITY_CLIENT][$data->name]; } else { return false; } - + return new Item($data, function ($data) use ($maps) { return [ 'invoice_number' => isset($data->invoice_number) ? $data->invoice_number : null, @@ -26,7 +26,7 @@ class InvoiceTransformer extends TransformerAbstract 'po_number' => isset($data->po_number) ? $data->po_number : null, 'terms' => isset($data->terms) ? $data->terms : null, 'public_notes' => isset($data->notes) ? $data->notes : null, - 'invoice_date_sql' => isset($data->create_date) ? $data->create_date : null, + 'invoice_date_sql' => isset($data->invoice_date) ? $data->invoice_date : null, 'invoice_items' => [ [ 'notes' => isset($data->notes) ? $data->notes : null, diff --git a/app/Ninja/Import/CSV/PaymentTransformer.php b/app/Ninja/Import/CSV/PaymentTransformer.php index 08feade8b1f7..87936ccbc65c 100644 --- a/app/Ninja/Import/CSV/PaymentTransformer.php +++ b/app/Ninja/Import/CSV/PaymentTransformer.php @@ -10,7 +10,7 @@ class PaymentTransformer extends TransformerAbstract return new Item($data, function ($data) use ($maps) { return [ 'amount' => $data->paid, - 'payment_date_sql' => $data->create_date, + 'payment_date_sql' => isset($data->invoice_date) ? $data->invoice_date : null, 'client_id' => $data->client_id, 'invoice_id' => $data->invoice_id, ]; diff --git a/app/Services/ImportService.php b/app/Services/ImportService.php index ab3d367474e8..32dac4c68df2 100644 --- a/app/Services/ImportService.php +++ b/app/Services/ImportService.php @@ -112,6 +112,12 @@ class ImportService $data = $this->fractal->createData($resource)->toArray(); + if (!$data['invoice_number']) { + $account = Auth::user()->account; + $invoice = Invoice::createNew(); + $data['invoice_number'] = $account->getNextInvoiceNumber($invoice); + } + if ($this->validate($data, $entityType) !== true) { return; }