From 8a4c90ade8ad783233d3700a8655128e81a4063e Mon Sep 17 00:00:00 2001 From: snipe Date: Wed, 14 Feb 2024 10:14:25 +0000 Subject: [PATCH] Check that the asset is not deleted Signed-off-by: snipe --- .../AssetMaintenancesController.php | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/AssetMaintenancesController.php b/app/Http/Controllers/AssetMaintenancesController.php index cb6ecf617..b5a50925e 100644 --- a/app/Http/Controllers/AssetMaintenancesController.php +++ b/app/Http/Controllers/AssetMaintenancesController.php @@ -148,15 +148,16 @@ class AssetMaintenancesController extends Controller */ public function edit($assetMaintenanceId = null) { + $this->authorize('update', Asset::class); + // Check if the asset maintenance exists $this->authorize('update', Asset::class); // Check if the asset maintenance exists if (is_null($assetMaintenance = AssetMaintenance::find($assetMaintenanceId))) { - // Redirect to the improvement management page - return redirect()->route('maintenances.index') - ->with('error', trans('admin/asset_maintenances/message.not_found')); - } elseif (! $assetMaintenance->asset) { - return redirect()->route('maintenances.index') - ->with('error', 'The asset associated with this maintenance does not exist.'); + // Redirect to the asset maintenance management page + return redirect()->route('maintenances.index')->with('error', trans('admin/asset_maintenances/message.not_found')); + } elseif ((!$assetMaintenance->asset) || ($assetMaintenance->asset->deleted_at!='')) { + // Redirect to the asset maintenance management page + return redirect()->route('maintenances.index')->with('error', 'asset does not exist'); } elseif (! Company::isCurrentUserHasAccess($assetMaintenance->asset)) { return static::getInsufficientPermissionsRedirect(); } @@ -192,8 +193,10 @@ class AssetMaintenancesController extends Controller // Check if the asset maintenance exists if (is_null($assetMaintenance = AssetMaintenance::find($assetMaintenanceId))) { // Redirect to the asset maintenance management page - return redirect()->route('maintenances.index') - ->with('error', trans('admin/asset_maintenances/message.not_found')); + return redirect()->route('maintenances.index')->with('error', trans('admin/asset_maintenances/message.not_found')); + } elseif ((!$assetMaintenance->asset) || ($assetMaintenance->asset->deleted_at!='')) { + // Redirect to the asset maintenance management page + return redirect()->route('maintenances.index')->with('error', 'asset does not exist'); } elseif (! Company::isCurrentUserHasAccess($assetMaintenance->asset)) { return static::getInsufficientPermissionsRedirect(); }