Fixes for invoice invitation creation (#3370)

* Working on invoice invitations

* Fixes for invitation creation
This commit is contained in:
David Bomba 2020-02-25 09:00:28 +11:00 committed by GitHub
parent 8121a0166d
commit 08b4c4f4e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 47 additions and 5 deletions

View File

@ -61,6 +61,25 @@ class StoreInvoiceRequest extends Request
}
if(isset($input['invitations']))
{
foreach($input['invitations'] as $key => $value)
{
if(isset($input['invitations'][$key]['id']) && is_numeric($input['invitations'][$key]['id']))
unset($input['invitations'][$key]['id']);
if(isset($input['invitations'][$key]['id']) && is_string($input['invitations'][$key]['id']))
$input['invitations'][$key]['id'] = $this->decodePrimaryKey($input['invitations'][$key]['id']);
if(is_string($input['invitations'][$key]['client_contact_id']))
$input['invitations'][$key]['client_contact_id'] = $this->decodePrimaryKey($input['invitations'][$key]['client_contact_id']);
}
}
$input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : [];
//$input['line_items'] = json_encode($input['line_items']);
$this->replace($input);

View File

@ -53,6 +53,25 @@ class UpdateInvoiceRequest extends Request
$input['client_id'] = $this->decodePrimaryKey($input['client_id']);
}
if(isset($input['invitations']))
{
foreach($input['invitations'] as $key => $value)
{
if(is_numeric($input['invitations'][$key]['id']))
unset($input['invitations'][$key]['id']);
if(is_string($input['invitations'][$key]['id']))
$input['invitations'][$key]['id'] = $this->decodePrimaryKey($input['invitations'][$key]['id']);
if(is_string($input['invitations'][$key]['client_contact_id']))
$input['invitations'][$key]['client_contact_id'] = $this->decodePrimaryKey($input['invitations'][$key]['client_contact_id']);
}
}
$input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : [];
$this->replace($input);

View File

@ -91,15 +91,19 @@ class InvoiceRepository extends BaseRepository {
$new_invitation = InvoiceInvitationFactory::create($invoice->company_id, $invoice->user_id);
//$new_invitation->fill($invitation);
$new_invitation->invoice_id = $invoice->id;
$new_invitation->client_contact_id = $this->decodePrimaryKey($invitation['client_contact_id']);
$new_invitation->client_contact_id = $invitation['client_contact_id'];
$new_invitation->save();
}
}
}
$invoice->load('invitations');
/* If no invitations have been created, this is our fail safe to maintain state*/
if ($invoice->invitations->count() == 0) {
\Log::error('making invitations');
$invoice->service()->createInvitations();
}