From 2acf2b880ea5d12e25fc3b35aa0ff3cd9291883b Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 5 Sep 2023 15:58:21 +0100 Subject: [PATCH 1/2] Account for hard-deleted models, suppliers Signed-off-by: snipe --- .../Transformers/ActionlogsTransformer.php | 22 +++++++++++++++---- resources/lang/en/admin/models/message.php | 1 + resources/lang/en/admin/suppliers/message.php | 1 + 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/app/Http/Transformers/ActionlogsTransformer.php b/app/Http/Transformers/ActionlogsTransformer.php index 7f76d3baa..955369f74 100644 --- a/app/Http/Transformers/ActionlogsTransformer.php +++ b/app/Http/Transformers/ActionlogsTransformer.php @@ -177,13 +177,20 @@ class ActionlogsTransformer } if(array_key_exists('model_id', $clean_meta)) { - $clean_meta['model_id']['old'] = "[id: ".$clean_meta['model_id']['old']."] ".$model->find($clean_meta['model_id']['old'])->name; - $clean_meta['model_id']['new'] = "[id: ".$clean_meta['model_id']['new']."] ".$model->find($clean_meta['model_id']['new'])->name; /* model is required at asset creation */ + $oldModel = $model->find($clean_meta['model_id']['old']); + $oldModelName = $oldModel->name ?? trans('admin/models/message.deleted'); + + $newModel = $model->find($clean_meta['model_id']['new']); + $newModelName = $newModel->name ?? trans('admin/models/message.deleted'); + + $clean_meta['model_id']['old'] = "[id: ".$clean_meta['model_id']['old']."] ".$oldModelName; + $clean_meta['model_id']['new'] = "[id: ".$clean_meta['model_id']['new']."] ".$newModelName; /** model is required at asset creation */ $clean_meta['Model'] = $clean_meta['model_id']; unset($clean_meta['model_id']); } if(array_key_exists('company_id', $clean_meta)) { + $oldCompany = Company::find($clean_meta['company_id']['old']); $oldCompanyName = $oldCompany->name ?? trans('admin/companies/message.deleted'); @@ -196,8 +203,15 @@ class ActionlogsTransformer unset($clean_meta['company_id']); } if(array_key_exists('supplier_id', $clean_meta)) { - $clean_meta['supplier_id']['old'] = $clean_meta['supplier_id']['old'] ? "[id: ".$clean_meta['supplier_id']['old']."] ".$supplier->find($clean_meta['supplier_id']['old'])->name : trans('general.unassigned'); - $clean_meta['supplier_id']['new'] = $clean_meta['supplier_id']['new'] ? "[id: ".$clean_meta['supplier_id']['new']."] ".$supplier->find($clean_meta['supplier_id']['new'])->name : trans('general.unassigned'); + + $oldSupplier = Supplier::find($clean_meta['supplier_id']['old']); + $oldSupplierName = $oldSupplier->name ?? trans('admin/suppliers/message.deleted'); + + $newSupplier = Supplier::find($clean_meta['supplier_id']['new']); + $newSupplierName = $newSupplier->name ?? trans('admin/suppliers/message.deleted'); + + $clean_meta['supplier_id']['old'] = $clean_meta['supplier_id']['old'] ? "[id: ".$clean_meta['supplier_id']['old']."] ". $oldSupplierName : trans('general.unassigned'); + $clean_meta['supplier_id']['new'] = $clean_meta['supplier_id']['new'] ? "[id: ".$clean_meta['supplier_id']['new']."] ". $newSupplierName : trans('general.unassigned'); $clean_meta['Supplier'] = $clean_meta['supplier_id']; unset($clean_meta['supplier_id']); } diff --git a/resources/lang/en/admin/models/message.php b/resources/lang/en/admin/models/message.php index 77c2d88b5..4dbcd4e75 100644 --- a/resources/lang/en/admin/models/message.php +++ b/resources/lang/en/admin/models/message.php @@ -2,6 +2,7 @@ return array( + 'deleted' => 'Deleted asset model', 'does_not_exist' => 'Model does not exist.', 'no_association' => 'WARNING! The asset model for this item is invalid or missing!', 'no_association_fix' => 'This will break things in weird and horrible ways. Edit this asset now to assign it a model.', diff --git a/resources/lang/en/admin/suppliers/message.php b/resources/lang/en/admin/suppliers/message.php index cea332748..a693669c7 100644 --- a/resources/lang/en/admin/suppliers/message.php +++ b/resources/lang/en/admin/suppliers/message.php @@ -2,6 +2,7 @@ return array( + 'deleted' => 'Deleted supplier', 'does_not_exist' => 'Supplier does not exist.', From f85df6bb8c35d04be242842eb94100806d167aa7 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 5 Sep 2023 16:02:28 +0100 Subject: [PATCH 2/2] Use same method of accessing companies as others Signed-off-by: snipe --- app/Http/Transformers/ActionlogsTransformer.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/Http/Transformers/ActionlogsTransformer.php b/app/Http/Transformers/ActionlogsTransformer.php index 955369f74..926116fe1 100644 --- a/app/Http/Transformers/ActionlogsTransformer.php +++ b/app/Http/Transformers/ActionlogsTransformer.php @@ -161,6 +161,7 @@ class ActionlogsTransformer { $location = Location::withTrashed()->get(); $supplier = Supplier::withTrashed()->get(); $model = AssetModel::withTrashed()->get(); + $company = Company::withTrashed()->get(); if(array_key_exists('rtd_location_id',$clean_meta)) { @@ -191,10 +192,10 @@ class ActionlogsTransformer } if(array_key_exists('company_id', $clean_meta)) { - $oldCompany = Company::find($clean_meta['company_id']['old']); + $oldCompany = $company->find($clean_meta['company_id']['old']); $oldCompanyName = $oldCompany->name ?? trans('admin/companies/message.deleted'); - $newCompany = Company::find($clean_meta['company_id']['new']); + $newCompany = $company->find($clean_meta['company_id']['new']); $newCompanyName = $newCompany->name ?? trans('admin/companies/message.deleted'); $clean_meta['company_id']['old'] = $clean_meta['company_id']['old'] ? "[id: ".$clean_meta['company_id']['old']."] ". $oldCompanyName : trans('general.unassigned'); @@ -204,10 +205,10 @@ class ActionlogsTransformer } if(array_key_exists('supplier_id', $clean_meta)) { - $oldSupplier = Supplier::find($clean_meta['supplier_id']['old']); + $oldSupplier = $supplier->find($clean_meta['supplier_id']['old']); $oldSupplierName = $oldSupplier->name ?? trans('admin/suppliers/message.deleted'); - $newSupplier = Supplier::find($clean_meta['supplier_id']['new']); + $newSupplier = $supplier->find($clean_meta['supplier_id']['new']); $newSupplierName = $newSupplier->name ?? trans('admin/suppliers/message.deleted'); $clean_meta['supplier_id']['old'] = $clean_meta['supplier_id']['old'] ? "[id: ".$clean_meta['supplier_id']['old']."] ". $oldSupplierName : trans('general.unassigned');