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 Response;
|
||||
use Input;
|
||||
use Validator;
|
||||
use App\Models\Invoice;
|
||||
use App\Models\Client;
|
||||
use App\Models\Contact;
|
||||
@ -102,12 +103,18 @@ class InvoiceApiController extends Controller
|
||||
}
|
||||
|
||||
if (isset($data['email'])) {
|
||||
$client = Client::scope()->whereHas('contacts', function($query) use ($data) {
|
||||
$query->where('email', '=', $data['email']);
|
||||
$email = $data['email'];
|
||||
$client = Client::scope()->whereHas('contacts', function($query) use ($email) {
|
||||
$query->where('email', '=', $email);
|
||||
})->first();
|
||||
|
||||
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) {
|
||||
if (isset($data[$field])) {
|
||||
$clientData[$field] = $data[$field];
|
||||
@ -118,10 +125,8 @@ class InvoiceApiController extends Controller
|
||||
$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'])) {
|
||||
$client = Client::scope($data['client_id'])->first();
|
||||
|
@ -54,7 +54,7 @@ class ClientRepository extends BaseRepository
|
||||
$contacts = isset($data['contact']) ? [$data['contact']] : $data['contacts'];
|
||||
$contactIds = [];
|
||||
|
||||
foreach ($data['contacts'] as $contact) {
|
||||
foreach ($contacts as $contact) {
|
||||
$contact = $client->addContact($contact, $first);
|
||||
$contactIds[] = $contact->public_id;
|
||||
$first = false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user