From 707c4db8817da0e7948db213148fd878f1874c43 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 19 Oct 2017 10:39:08 -0700 Subject: [PATCH] API: Check there are no assets associated before allowing delete --- app/Http/Controllers/Api/StatuslabelsController.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/StatuslabelsController.php b/app/Http/Controllers/Api/StatuslabelsController.php index 045d587bdf..f85ae68169 100644 --- a/app/Http/Controllers/Api/StatuslabelsController.php +++ b/app/Http/Controllers/Api/StatuslabelsController.php @@ -137,8 +137,14 @@ class StatuslabelsController extends Controller $this->authorize('delete', Statuslabel::class); $statuslabel = Statuslabel::findOrFail($id); $this->authorize('delete', $statuslabel); - $statuslabel->delete(); - return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/statuslabels/message.delete.success'))); + + // Check that there are no assets associated + if ($statuslabel->assets()->count() == 0) { + $statuslabel->delete(); + return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/statuslabels/message.delete.success'))); + } + + return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/statuslabels/message.assoc_assets'))); }