From 63c808c7e5f3c05ac7328c1b6cee8e848952f8b4 Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Tue, 22 Oct 2024 14:33:10 -0700 Subject: [PATCH 1/4] add translation for error status label error message --- app/Http/Controllers/Api/StatuslabelsController.php | 2 +- resources/lang/en-US/admin/statuslabels/message.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/StatuslabelsController.php b/app/Http/Controllers/Api/StatuslabelsController.php index 7e4851ff5ae1..0d7d46cd0f3c 100644 --- a/app/Http/Controllers/Api/StatuslabelsController.php +++ b/app/Http/Controllers/Api/StatuslabelsController.php @@ -96,7 +96,7 @@ public function store(Request $request) : JsonResponse if (! $request->filled('type')) { - return response()->json(Helper::formatStandardApiResponse('error', null, ['type' => ['Status label type is required.']])); + return response()->json(Helper::formatStandardApiResponse('error', null, ['type' => [trans('admin/statuslabels/message.require_status_label')]])); } $statuslabel = new Statuslabel; diff --git a/resources/lang/en-US/admin/statuslabels/message.php b/resources/lang/en-US/admin/statuslabels/message.php index b1b4034d0d5e..ba72fcc7b959 100644 --- a/resources/lang/en-US/admin/statuslabels/message.php +++ b/resources/lang/en-US/admin/statuslabels/message.php @@ -5,7 +5,7 @@ 'does_not_exist' => 'Status Label does not exist.', 'deleted_label' => 'Deleted Status Label', 'assoc_assets' => 'This Status Label is currently associated with at least one Asset and cannot be deleted. Please update your assets to no longer reference this status and try again. ', - + 'require_status_label' => 'Status label type is required.', 'create' => [ 'error' => 'Status Label was not created, please try again.', 'success' => 'Status Label created successfully.', From 23b64eb97c4af804afe424b3edc7a6cff0bd286b Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Wed, 23 Oct 2024 11:54:37 -0700 Subject: [PATCH 2/4] adds validation for status labels --- .../Controllers/Api/StatuslabelsController.php | 2 +- app/Models/Statuslabel.php | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/StatuslabelsController.php b/app/Http/Controllers/Api/StatuslabelsController.php index 0d7d46cd0f3c..2b073d90b8e7 100644 --- a/app/Http/Controllers/Api/StatuslabelsController.php +++ b/app/Http/Controllers/Api/StatuslabelsController.php @@ -111,7 +111,7 @@ public function store(Request $request) : JsonResponse $statuslabel->default_label = $request->input('default_label', 0); - if ($statuslabel->save()) { + if ($statuslabel->validate() && $statuslabel->save()) { return response()->json(Helper::formatStandardApiResponse('success', $statuslabel, trans('admin/statuslabels/message.create.success'))); } return response()->json(Helper::formatStandardApiResponse('error', null, $statuslabel->getErrors())); diff --git a/app/Models/Statuslabel.php b/app/Models/Statuslabel.php index c1bcc3042dcb..8bce5900676e 100755 --- a/app/Models/Statuslabel.php +++ b/app/Models/Statuslabel.php @@ -6,6 +6,7 @@ use App\Models\Traits\Searchable; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\SoftDeletes; +use Illuminate\Support\Facades\Validator; use Watson\Validating\ValidatingTrait; class Statuslabel extends SnipeModel @@ -166,7 +167,22 @@ public static function getStatuslabelTypesForDB($type) return $statustype; } + public function validate() + { + $validator = Validator::make($this->attributes, $this->rules); + + if ($validator->fails()) { + $this->errors = $validator->errors(); + return false; + } + return true; + } + + public function getErrors() + { + return $this->errors; + } public function scopeOrderByCreatedBy($query, $order) { return $query->leftJoin('users as admin_sort', 'status_labels.created_by', '=', 'admin_sort.id')->select('status_labels.*')->orderBy('admin_sort.first_name', $order)->orderBy('admin_sort.last_name', $order); From 1fca56ff77152fd067c59b889dfe3a075e352503 Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Wed, 23 Oct 2024 12:00:30 -0700 Subject: [PATCH 3/4] remove unnecessary conditional statement --- app/Http/Controllers/Api/StatuslabelsController.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/app/Http/Controllers/Api/StatuslabelsController.php b/app/Http/Controllers/Api/StatuslabelsController.php index 2b073d90b8e7..ddd08c3944af 100644 --- a/app/Http/Controllers/Api/StatuslabelsController.php +++ b/app/Http/Controllers/Api/StatuslabelsController.php @@ -94,11 +94,6 @@ public function store(Request $request) : JsonResponse $this->authorize('create', Statuslabel::class); $request->except('deployable', 'pending', 'archived'); - if (! $request->filled('type')) { - - return response()->json(Helper::formatStandardApiResponse('error', null, ['type' => [trans('admin/statuslabels/message.require_status_label')]])); - } - $statuslabel = new Statuslabel; $statuslabel->fill($request->all()); From 9ec48ee62e8decf6bdee211e715ee0e2f4d9618e Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Wed, 23 Oct 2024 12:01:04 -0700 Subject: [PATCH 4/4] remove translation --- resources/lang/en-US/admin/statuslabels/message.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/en-US/admin/statuslabels/message.php b/resources/lang/en-US/admin/statuslabels/message.php index ba72fcc7b959..b1b4034d0d5e 100644 --- a/resources/lang/en-US/admin/statuslabels/message.php +++ b/resources/lang/en-US/admin/statuslabels/message.php @@ -5,7 +5,7 @@ 'does_not_exist' => 'Status Label does not exist.', 'deleted_label' => 'Deleted Status Label', 'assoc_assets' => 'This Status Label is currently associated with at least one Asset and cannot be deleted. Please update your assets to no longer reference this status and try again. ', - 'require_status_label' => 'Status label type is required.', + 'create' => [ 'error' => 'Status Label was not created, please try again.', 'success' => 'Status Label created successfully.',