diff --git a/app/Http/Controllers/ReportsController.php b/app/Http/Controllers/ReportsController.php index d36944e973..689e5c38f3 100644 --- a/app/Http/Controllers/ReportsController.php +++ b/app/Http/Controllers/ReportsController.php @@ -1219,25 +1219,13 @@ class ReportsController extends Controller /** * Get all assets with pending checkout acceptances */ - if($showDeleted) { + $acceptances = CheckoutAcceptance::pending() ->with([ - 'checkoutable' => function (MorphTo $acceptance) { - $acceptance->morphWith([ - Asset::class => ['model.category', 'assignedTo', 'company'], - Accessory::class => ['category','checkouts', 'company'], - LicenseSeat::class => ['user', 'license'], - Component::class => ['assignedTo', 'company'], - ]); - }, - 'assignedTo' => function($acceptance){ + 'checkoutable' => function (MorphTo $acceptance) use ($showDeleted) { + if ($showDeleted) { $acceptance->withTrashed(); } - ])->orderByDesc('checkout_acceptances.created_at'); - } else { - $acceptances = CheckoutAcceptance::pending() - ->with([ - 'checkoutable' => function (MorphTo $acceptance) { $acceptance->morphWith([ Asset::class => ['model.category', 'assignedTo', 'company'], Accessory::class => ['category','checkouts', 'company'], @@ -1245,10 +1233,12 @@ class ReportsController extends Controller Component::class => ['assignedTo', 'company'], ]); }, - 'assignedTo' => function($acceptances){ - } + 'assignedTo', ])->orderByDesc('checkout_acceptances.created_at'); - } + + if ($showDeleted) { + $acceptances->withTrashed(); + } $itemsForReport = $acceptances->get()->map(fn ($unaccepted) => Checkoutable::fromAcceptance($unaccepted)); @@ -1275,7 +1265,7 @@ class ReportsController extends Controller $row = [ ]; $row[] = str_replace(',', '', $item->acceptance->created_at); $row[] = str_replace(',', '', $item->type); - $row[] = str_replace(',', '', $item->company); + $row[] = str_replace(',', '', $item->company_plain); $row[] = str_replace(',', '', $item->category_plain); $row[] = str_replace(',', '', $item->model_plain); $row[] = str_replace(',', '', $item->name_plain); diff --git a/app/Models/Checkoutable.php b/app/Models/Checkoutable.php index 21420fdd86..b629aa7d0d 100644 --- a/app/Models/Checkoutable.php +++ b/app/Models/Checkoutable.php @@ -20,6 +20,7 @@ class Checkoutable public readonly string $category_plain, public readonly string $model_plain, public readonly string $name_plain, + public readonly string $company_plain, ){} // public static function fromCheckoutable(Asset|Accessory|etc..) @@ -33,7 +34,7 @@ class Checkoutable $acceptance = $unaccepted; $assignee = $acceptance->assignedTo; - $company = optional($unaccepted_row->company)->name ?? ''; + $company = optional($unaccepted_row->company)->present()?->nameUrl() ?? ''; $category = $model = $name = $tag = ''; $type = $acceptance->checkoutable_item_type ?? ''; @@ -72,9 +73,11 @@ class Checkoutable type: $type, acceptance: $acceptance, assignee: $assignee, + //plain text for CSVs category_plain: optional($unaccepted_row->model?->category)->name ?? '', model_plain: optional($unaccepted_row->model)->name ?? '', name_plain: (string) ($unaccepted_row->name ?? ''), + company_plain: optional($unaccepted_row->company)->name ?? '', ); } } diff --git a/resources/views/reports/unaccepted_assets.blade.php b/resources/views/reports/unaccepted_assets.blade.php index a70652855f..2b78a756ef 100644 --- a/resources/views/reports/unaccepted_assets.blade.php +++ b/resources/views/reports/unaccepted_assets.blade.php @@ -70,7 +70,7 @@ {{-- Item Type --}}