checkoutable; $acceptance = $unaccepted; $assignee = $acceptance->assignedTo; $company = $unaccepted_row->company ? optional($unaccepted_row->company)->present()->nameUrl() : ''; $category = $model = $name = $tag = ''; $type = $acceptance->checkoutable_item_type ?? ''; if($unaccepted_row instanceof Asset){ $category = optional($unaccepted_row->model?->category?->present())->nameUrl() ?? ''; $model = optional($unaccepted_row->present())->modelUrl() ?? ''; $name = optional($unaccepted_row->present())->nameUrl() ?? ''; $tag = (string) ($unaccepted_row->asset_tag ?? ''); } if($unaccepted_row instanceof Accessory){ $category = optional($unaccepted_row->category?->present())->nameUrl() ?? ''; $model = $unaccepted_row->model_number ?? ''; $name = optional($unaccepted_row->present())->nameUrl() ?? ''; } if($unaccepted_row instanceof LicenseSeat){ $category = optional($unaccepted_row->license->category?->present())->nameUrl() ?? ''; $company = optional($unaccepted_row->license->company?->present())?->nameUrl() ?? ''; $model = ''; $name = $unaccepted_row->license->present()->nameUrl() ?? ''; } if($unaccepted_row instanceof Consumable){ $category = optional($unaccepted_row->category?->present())->nameUrl() ?? ''; $model = $unaccepted_row->model_number ?? ''; $name = $unaccepted_row?->present()?->nameUrl() ?? ''; } if($unaccepted_row instanceof Component){ $category = optional($unaccepted_row->category?->present())->nameUrl() ?? ''; $model = $unaccepted_row->model_number ?? ''; $name = $unaccepted_row?->present()?->nameUrl() ?? ''; } return new self( acceptance_id: $acceptance->id, company: $company, category: $category, model: $model, asset_tag: $tag, name: $name, type: $type, 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 ?? '', ); } }