mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Fixed problem creating client with invoice in the API
This commit is contained in:
parent
cd3aecdf5b
commit
b4e5690103
@ -4,6 +4,7 @@ use Auth;
|
|||||||
use Utils;
|
use Utils;
|
||||||
use Response;
|
use Response;
|
||||||
use Input;
|
use Input;
|
||||||
|
use Validator;
|
||||||
use App\Models\Invoice;
|
use App\Models\Invoice;
|
||||||
use App\Models\Client;
|
use App\Models\Client;
|
||||||
use App\Models\Contact;
|
use App\Models\Contact;
|
||||||
@ -102,12 +103,18 @@ class InvoiceApiController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($data['email'])) {
|
if (isset($data['email'])) {
|
||||||
$client = Client::scope()->whereHas('contacts', function($query) use ($data) {
|
$email = $data['email'];
|
||||||
$query->where('email', '=', $data['email']);
|
$client = Client::scope()->whereHas('contacts', function($query) use ($email) {
|
||||||
|
$query->where('email', '=', $email);
|
||||||
})->first();
|
})->first();
|
||||||
|
|
||||||
if (!$client) {
|
if (!$client) {
|
||||||
$clientData = ['contact' => ['email' => $data['email']]];
|
$validator = Validator::make(['email'=>$email], ['email' => 'email']);
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return $validator->message();
|
||||||
|
}
|
||||||
|
|
||||||
|
$clientData = ['contact' => ['email' => $email]];
|
||||||
foreach (['name', 'private_notes'] as $field) {
|
foreach (['name', 'private_notes'] as $field) {
|
||||||
if (isset($data[$field])) {
|
if (isset($data[$field])) {
|
||||||
$clientData[$field] = $data[$field];
|
$clientData[$field] = $data[$field];
|
||||||
@ -118,10 +125,8 @@ class InvoiceApiController extends Controller
|
|||||||
$clientData[$field] = $data[$field];
|
$clientData[$field] = $data[$field];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$error = $this->clientRepo->getErrors($clientData);
|
|
||||||
if (!$error) {
|
$client = $this->clientRepo->save($clientData);
|
||||||
$client = $this->clientRepo->save($clientData);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else if (isset($data['client_id'])) {
|
} else if (isset($data['client_id'])) {
|
||||||
$client = Client::scope($data['client_id'])->first();
|
$client = Client::scope($data['client_id'])->first();
|
||||||
|
@ -54,7 +54,7 @@ class ClientRepository extends BaseRepository
|
|||||||
$contacts = isset($data['contact']) ? [$data['contact']] : $data['contacts'];
|
$contacts = isset($data['contact']) ? [$data['contact']] : $data['contacts'];
|
||||||
$contactIds = [];
|
$contactIds = [];
|
||||||
|
|
||||||
foreach ($data['contacts'] as $contact) {
|
foreach ($contacts as $contact) {
|
||||||
$contact = $client->addContact($contact, $first);
|
$contact = $client->addContact($contact, $first);
|
||||||
$contactIds[] = $contact->public_id;
|
$contactIds[] = $contact->public_id;
|
||||||
$first = false;
|
$first = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user