Skip to content

Commit 4d44fd4

Browse files
authored
Merge pull request #18217 from Godmartinz/unaccepted-row-null-fix
Fixes FD-52005 Adds null safe operators to unacceptable items report
2 parents 88635cb + 60ff297 commit 4d44fd4

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

app/Http/Controllers/ReportsController.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1148,7 +1148,9 @@ public function getAssetAcceptanceReport($deleted = false) : View
11481148
$query->withTrashed();
11491149
}
11501150

1151-
$itemsForReport = $query->get()->map(fn ($unaccepted) => Checkoutable::fromAcceptance($unaccepted));
1151+
$itemsForReport = $query->get()
1152+
->filter(fn ($unaccepted) => $unaccepted->checkoutable)
1153+
->map(fn ($unaccepted) => Checkoutable::fromAcceptance($unaccepted));
11521154

11531155
return view('reports/unaccepted_assets', compact('itemsForReport','showDeleted' ));
11541156
}
@@ -1288,7 +1290,9 @@ public function postAssetAcceptanceReport($deleted = false) : Response
12881290
$acceptances->withTrashed();
12891291
}
12901292

1291-
$itemsForReport = $acceptances->get()->map(fn ($unaccepted) => Checkoutable::fromAcceptance($unaccepted));
1293+
$itemsForReport = $acceptances->get()
1294+
->filter(fn ($unaccepted) => $unaccepted->checkoutable)
1295+
->map(fn ($unaccepted) => Checkoutable::fromAcceptance($unaccepted));
12921296

12931297
$rows = [];
12941298

app/Models/Checkoutable.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public static function fromAcceptance(CheckoutAcceptance $unaccepted): self
2626
$acceptance = $unaccepted;
2727

2828
$assignee = $acceptance->assignedTo;
29-
$company = $unaccepted_row->company ? optional($unaccepted_row->company)->present()->nameUrl() : '';
29+
$company = $unaccepted_row?->company?->present()?->nameUrl() ?? '';
3030
$category = $model = $name = $tag = '';
3131
$type = $acceptance->checkoutable_item_type ?? '';
3232

@@ -70,10 +70,10 @@ public static function fromAcceptance(CheckoutAcceptance $unaccepted): self
7070
acceptance: $acceptance,
7171
assignee: $assignee,
7272
//plain text for CSVs
73-
plain_text_category: ($unaccepted_row->model?->category?->name ?? $unaccepted_row->license->category?->name ?? $unaccepted_row->category?->name ?? ''),
74-
plain_text_model: ($unaccepted_row->model?->name ?? $unaccepted_row->model_number ?? ''),
75-
plain_text_name: ($unaccepted_row->name ?? $unaccepted_row->license?->name ?? ''),
76-
plain_text_company: ($unaccepted_row->company)->name ?? $unaccepted_row->license->company?->name ?? '',
73+
plain_text_category: $unaccepted_row?->model?->category?->name ?? $unaccepted_row?->license?->category?->name ?? $unaccepted_row?->category?->name ?? '',
74+
plain_text_model: $unaccepted_row?->model?->name ?? $unaccepted_row?->model_number ?? '',
75+
plain_text_name: $unaccepted_row?->name ?? $unaccepted_row?->license?->name ?? '',
76+
plain_text_company: $unaccepted_row?->company->name ?? $unaccepted_row?->license?->company?->name ?? '',
7777
);
7878
}
7979
}

0 commit comments

Comments
 (0)