diff --git a/app/Http/Controllers/Assets/BulkAssetsController.php b/app/Http/Controllers/Assets/BulkAssetsController.php
index 14e5463ef9..58da5ae790 100644
--- a/app/Http/Controllers/Assets/BulkAssetsController.php
+++ b/app/Http/Controllers/Assets/BulkAssetsController.php
@@ -535,14 +535,47 @@ class BulkAssetsController extends Controller
return redirect($bulk_back_url)->with('error', trans('admin/hardware/message.delete.nothing_updated'));
}
- $assignedAssets = Asset::whereIn('id', $assetIds)->whereNotNull('assigned_to')->get();
- if($assignedAssets->isNotEmpty()) {
+ $parentAssets = Asset::whereIn('id', $assetIds)
+ ->whereHas('assignedAssets')
+ ->get();
- //if assets are checked out, return a list of asset tags that would need to be checked in first.
- $assetTags = $assignedAssets->pluck('asset_tag')->implode(', ');
- return redirect($bulk_back_url)->with('error', trans_choice('admin/hardware/message.delete.assigned_to_error', $assignedAssets->count(), ['asset_tag' => $assetTags] ));
+ $assignedAssets = Asset::whereIn('id', $assetIds)
+ ->whereNotNull('assigned_to')
+ ->get();
+
+ $errorMessages = [];
+
+ if ($assignedAssets->isNotEmpty()) {
+ $assignedTags = $assignedAssets->pluck('asset_tag')->implode(', ');
+ $errorMessages[] = trans_choice(
+ 'admin/hardware/message.delete.assigned_to_error',
+ $assignedAssets->count(),
+ ['asset_tag' => $assignedTags]
+ );
}
+ if ($parentAssets->isNotEmpty()) {
+ $parentTags = $parentAssets->pluck('asset_tag')->implode(', ');
+ $errorMessages[] = trans_choice(
+ 'admin/hardware/message.delete.parent_assigned_error',
+ $parentAssets->count(),
+ ['asset_tag' => $parentTags]
+ );
+ }
+
+ if (!empty($errorMessages)) {
+ // Combine both messages
+ $combinedErrorMessage = implode('
', $errorMessages);
+
+ return redirect($bulk_back_url)->with('error', $combinedErrorMessage);
+ }
+// if($assignedAssets->isNotEmpty() && $parentAsset->isNotEmpty()) {
+//
+// //if assets are checked out, return a list of asset tags that would need to be checked in first.
+// $assetTags = $assignedAssets->pluck('asset_tag')->implode(', ');
+// return redirect($bulk_back_url)->with('error', trans_choice('admin/hardware/message.delete.assigned_to_error', $assignedAssets->count(), ['asset_tag' => $assetTags] ));
+// }
+
foreach (Asset::wherein('id', $assetIds)->get() as $asset) {
$asset->delete();
}
diff --git a/resources/lang/en-US/admin/hardware/message.php b/resources/lang/en-US/admin/hardware/message.php
index 605c1fe230..384a83922f 100644
--- a/resources/lang/en-US/admin/hardware/message.php
+++ b/resources/lang/en-US/admin/hardware/message.php
@@ -72,7 +72,8 @@ return [
'delete' => [
'confirm' => 'Are you sure you wish to delete this asset?',
'error' => 'There was an issue deleting the asset. Please try again.',
- 'assigned_to_error' => '{1}Asset Tag: :asset_tag is currently checked out. Check in this device before deletion.|[2,*]Asset Tags: :asset_tag are currently checked out. Check in these devices before deletion.',
+ 'assigned_to_error' => '{1}Asset Tag: :asset_tag is currently checked out. Check in this device before deletion of this asset.|[2,*]Asset Tags: :asset_tag are currently checked out. Check in these devices before deletion of these assets.',
+ 'parent_assigned_error' => '{1}Asset Tag: :asset_tag currently has items checked out. Check in all items attached before deletion of this asset.|[2,*]Asset Tags: :asset_tag currently have items checked out. Check in these devices before deletion of these assets.',
'nothing_updated' => 'No assets were selected, so nothing was deleted.',
'success' => 'The asset was deleted successfully.',
],
diff --git a/resources/views/notifications.blade.php b/resources/views/notifications.blade.php
index 7d74e5d043..599c8dd2f5 100755
--- a/resources/views/notifications.blade.php
+++ b/resources/views/notifications.blade.php
@@ -109,7 +109,7 @@
{{ trans('general.error') }}:
- {{ $message }}
+ {!! $message !!}
@endif