Merge pull request #18217 from Godmartinz/unaccepted-row-null-fix

Fixes FD-52005 Adds null safe operators to unacceptable items report
This commit is contained in:
snipe
2025-11-20 13:27:24 +00:00
committed by GitHub
2 changed files with 11 additions and 7 deletions

View File

@@ -1148,7 +1148,9 @@ class ReportsController extends Controller
$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 @@ class ReportsController extends Controller
$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 = [];

View File

@@ -26,7 +26,7 @@ class Checkoutable
$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 @@ class Checkoutable
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 ?? '',
);
}
}