From 767d4d148aa8429a3049c935a77bb0ca7355d23f Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Mon, 19 Sep 2016 10:04:30 +0300 Subject: [PATCH] Fix for null reference --- app/Http/Controllers/DashboardApiController.php | 12 ++++++------ app/Libraries/HistoryUtils.php | 6 ++++++ app/Ninja/Transformers/ActivityTransformer.php | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/DashboardApiController.php b/app/Http/Controllers/DashboardApiController.php index 75541aaeab..d5ff416e7e 100644 --- a/app/Http/Controllers/DashboardApiController.php +++ b/app/Http/Controllers/DashboardApiController.php @@ -42,12 +42,12 @@ class DashboardApiController extends BaseAPIController $data = [ 'id' => 1, - 'paidToDate' => $paidToDate[0]->value ? $paidToDate[0]->value : 0, - 'paidToDateCurrency' => $paidToDate[0]->currency_id ? $paidToDate[0]->currency_id : 0, - 'balances' => $balances[0]->value ? $balances[0]->value : 0, - 'balancesCurrency' => $balances[0]->currency_id ? $balances[0]->currency_id : 0, - 'averageInvoice' => (count($averageInvoice) && $averageInvoice[0]->invoice_avg) ? $averageInvoice[0]->invoice_avg : 0, - 'averageInvoiceCurrency' => $averageInvoice[0]->currency_id ? $averageInvoice[0]->currency_id : 0, + 'paidToDate' => count($paidToDate) && $paidToDate[0]->value ? $paidToDate[0]->value : 0, + 'paidToDateCurrency' => count($paidToDate) && $paidToDate[0]->currency_id ? $paidToDate[0]->currency_id : 0, + 'balances' => count($balances) && $balances[0]->value ? $balances[0]->value : 0, + 'balancesCurrency' => count($balances) && $balances[0]->currency_id ? $balances[0]->currency_id : 0, + 'averageInvoice' => count($averageInvoice) && $averageInvoice[0]->invoice_avg ? $averageInvoice[0]->invoice_avg : 0, + 'averageInvoiceCurrency' => count($averageInvoice) && $averageInvoice[0]->currency_id ? $averageInvoice[0]->currency_id : 0, 'invoicesSent' => $metrics ? $metrics->invoices_sent : 0, 'activeClients' => $metrics ? $metrics->active_clients : 0, 'activities' => $this->createCollection($activities, new ActivityTransformer(), ENTITY_ACTIVITY), diff --git a/app/Libraries/HistoryUtils.php b/app/Libraries/HistoryUtils.php index 27566625ca..feb5d331d4 100644 --- a/app/Libraries/HistoryUtils.php +++ b/app/Libraries/HistoryUtils.php @@ -48,9 +48,15 @@ class HistoryUtils $entity = $activity->client; } else if ($activity->activity_type_id == ACTIVITY_TYPE_CREATE_TASK || $activity->activity_type_id == ACTIVITY_TYPE_UPDATE_TASK) { $entity = $activity->task; + if ( ! $entity) { + continue; + } $entity->setRelation('client', $activity->client); } else { $entity = $activity->invoice; + if ( ! $entity) { + continue; + } $entity->setRelation('client', $activity->client); } diff --git a/app/Ninja/Transformers/ActivityTransformer.php b/app/Ninja/Transformers/ActivityTransformer.php index c55057ea1c..5b25f31598 100644 --- a/app/Ninja/Transformers/ActivityTransformer.php +++ b/app/Ninja/Transformers/ActivityTransformer.php @@ -24,7 +24,7 @@ class ActivityTransformer extends EntityTransformer return [ 'id' => $activity->key(), 'activity_type_id' => $activity->activity_type_id, - 'client_id' => $activity->client->public_id, + 'client_id' => $activity->client ? $activity->client->public_id : null, 'user_id' => $activity->user->public_id + 1, 'invoice_id' => $activity->invoice ? $activity->invoice->public_id : null, 'payment_id' => $activity->payment ? $activity->payment->public_id : null,