diff --git a/app/Services/ImportService.php b/app/Services/ImportService.php index 48b32e6dd0d9..a215785f3ce9 100644 --- a/app/Services/ImportService.php +++ b/app/Services/ImportService.php @@ -183,45 +183,58 @@ class ImportService if ($transformer->hasProduct($jsonProduct['product_key'])) { continue; } - if (EntityModel::validate($jsonProduct, ENTITY_PRODUCT) === true) { + + $productValidate = EntityModel::validate($jsonProduct, ENTITY_PRODUCT); + if ($productValidate === true) { $product = $this->productRepo->save($jsonProduct); $this->addProductToMaps($product); $this->addSuccess($product); } else { + $jsonProduct['type'] = ENTITY_PRODUCT; + $jsonProduct['error'] = $productValidate; $this->addFailure(ENTITY_PRODUCT, $jsonProduct); continue; } } foreach ($json['clients'] as $jsonClient) { - if (EntityModel::validate($jsonClient, ENTITY_CLIENT) === true) { + $clientValidate = EntityModel::validate($jsonClient, ENTITY_CLIENT); + if ($clientValidate === true) { $client = $this->clientRepo->save($jsonClient); $this->addClientToMaps($client); $this->addSuccess($client); } else { + $jsonClient['type'] = ENTITY_CLIENT; + $jsonClient['error'] = $clientValidate; $this->addFailure(ENTITY_CLIENT, $jsonClient); continue; } foreach ($jsonClient['invoices'] as $jsonInvoice) { $jsonInvoice['client_id'] = $client->id; - if (EntityModel::validate($jsonInvoice, ENTITY_INVOICE) === true) { + $invoiceValidate = EntityModel::validate($jsonInvoice, ENTITY_INVOICE); + if ($invoiceValidate === true) { $invoice = $this->invoiceRepo->save($jsonInvoice); $this->addInvoiceToMaps($invoice); $this->addSuccess($invoice); } else { + $jsonInvoice['type'] = ENTITY_INVOICE; + $jsonInvoice['error'] = $invoiceValidate; $this->addFailure(ENTITY_INVOICE, $jsonInvoice); continue; } foreach ($jsonInvoice['payments'] as $jsonPayment) { $jsonPayment['invoice_id'] = $invoice->public_id; - if (EntityModel::validate($jsonPayment, ENTITY_PAYMENT) === true) { + $paymentValidate = EntityModel::validate($jsonPayment, ENTITY_PAYMENT); + if ($paymentValidate === true) { $jsonPayment['client_id'] = $client->id; $jsonPayment['invoice_id'] = $invoice->id; $payment = $this->paymentRepo->save($jsonPayment); $this->addSuccess($payment); } else { + $jsonPayment['type'] = ENTITY_PAYMENT; + $jsonPayment['error'] = $paymentValidate; $this->addFailure(ENTITY_PAYMENT, $jsonPayment); continue; }