diff --git a/app/Http/Controllers/ReportsController.php b/app/Http/Controllers/ReportsController.php index 5dd6386e402e..399f8a5ce82b 100644 --- a/app/Http/Controllers/ReportsController.php +++ b/app/Http/Controllers/ReportsController.php @@ -1148,7 +1148,9 @@ public function getAssetAcceptanceReport($deleted = false) : View $query->withTrashed(); } - $itemsForReport = $query->get()->map(fn ($unaccepted) => Checkoutable::fromAcceptance($unaccepted)); + $itemsForReport = $query->get() + ->filter(fn ($unaccepted) => $unaccepted->checkoutable) + ->map(fn ($unaccepted) => Checkoutable::fromAcceptance($unaccepted)); return view('reports/unaccepted_assets', compact('itemsForReport','showDeleted' )); } @@ -1288,7 +1290,9 @@ public function postAssetAcceptanceReport($deleted = false) : Response $acceptances->withTrashed(); } - $itemsForReport = $acceptances->get()->map(fn ($unaccepted) => Checkoutable::fromAcceptance($unaccepted)); + $itemsForReport = $acceptances->get() + ->filter(fn ($unaccepted) => $unaccepted->checkoutable) + ->map(fn ($unaccepted) => Checkoutable::fromAcceptance($unaccepted)); $rows = []; diff --git a/app/Models/Checkoutable.php b/app/Models/Checkoutable.php index 04a1806f9800..ee8dbcfa5970 100644 --- a/app/Models/Checkoutable.php +++ b/app/Models/Checkoutable.php @@ -26,7 +26,7 @@ public static function fromAcceptance(CheckoutAcceptance $unaccepted): self $acceptance = $unaccepted; $assignee = $acceptance->assignedTo; - $company = $unaccepted_row->company ? optional($unaccepted_row->company)->present()->nameUrl() : ''; + $company = $unaccepted_row?->company?->present()?->nameUrl() ?? ''; $category = $model = $name = $tag = ''; $type = $acceptance->checkoutable_item_type ?? ''; @@ -70,10 +70,10 @@ public static function fromAcceptance(CheckoutAcceptance $unaccepted): self acceptance: $acceptance, assignee: $assignee, //plain text for CSVs - plain_text_category: ($unaccepted_row->model?->category?->name ?? $unaccepted_row->license->category?->name ?? $unaccepted_row->category?->name ?? ''), - plain_text_model: ($unaccepted_row->model?->name ?? $unaccepted_row->model_number ?? ''), - plain_text_name: ($unaccepted_row->name ?? $unaccepted_row->license?->name ?? ''), - plain_text_company: ($unaccepted_row->company)->name ?? $unaccepted_row->license->company?->name ?? '', + plain_text_category: $unaccepted_row?->model?->category?->name ?? $unaccepted_row?->license?->category?->name ?? $unaccepted_row?->category?->name ?? '', + plain_text_model: $unaccepted_row?->model?->name ?? $unaccepted_row?->model_number ?? '', + plain_text_name: $unaccepted_row?->name ?? $unaccepted_row?->license?->name ?? '', + plain_text_company: $unaccepted_row?->company->name ?? $unaccepted_row?->license?->company?->name ?? '', ); } }