diff --git a/app/Http/Controllers/Api/AssetsController.php b/app/Http/Controllers/Api/AssetsController.php index b7a136bb80..be95b3fd2c 100644 --- a/app/Http/Controllers/Api/AssetsController.php +++ b/app/Http/Controllers/Api/AssetsController.php @@ -687,7 +687,6 @@ class AssetsController extends Controller } } } - } if ($asset->save()) { if (($request->filled('assigned_user')) && ($target = User::find($request->get('assigned_user')))) { @@ -707,12 +706,12 @@ class AssetsController extends Controller if ($asset->image) { $asset->image = $asset->getImageUrl(); - - if ($problems_updating_encrypted_custom_fields) { - return response()->json(Helper::formatStandardApiResponse('success', $asset, trans('admin/hardware/message.update.encrypted_warning'))); - } else { - return response()->json(Helper::formatStandardApiResponse('success', $asset, trans('admin/hardware/message.update.success'))); - } + } + + if ($problems_updating_encrypted_custom_fields) { + return response()->json(Helper::formatStandardApiResponse('success', $asset, trans('admin/hardware/message.update.encrypted_warning'))); + } else { + return response()->json(Helper::formatStandardApiResponse('success', $asset, trans('admin/hardware/message.update.success'))); } } return response()->json(Helper::formatStandardApiResponse('error', null, $asset->getErrors()), 200); diff --git a/app/Http/Requests/UpdateAssetRequest.php b/app/Http/Requests/UpdateAssetRequest.php index 2ca2a2b807..53844dc761 100644 --- a/app/Http/Requests/UpdateAssetRequest.php +++ b/app/Http/Requests/UpdateAssetRequest.php @@ -25,32 +25,18 @@ class UpdateAssetRequest extends ImageUploadRequest */ public function rules() { - $rules = array_merge([ - 'model_id' => ['integer', 'exists:models,id,deleted_at,NULL', 'not_array'], - 'status_id' => ['integer', 'exists:status_labels,id'], - 'asset_tag' => ['min:1', 'max:255', 'not_array', Rule::unique('assets', 'asset_tag')->ignore($this->asset)->withoutTrashed()], - 'name' => ['nullable', 'max:255'], - 'company_id' => ['nullable', 'integer', 'exists:companies,id'], - 'warranty_months' => ['nullable', 'numeric', 'digits_between:0,240'], - 'last_checkout' => ['nullable', 'date_format:Y-m-d H:i:s'], - 'expected_checkin' => ['nullable', 'date'], - 'last_audit_date' => 'nullable|date_format:Y-m-d H:i:s', - 'next_audit_date' => 'nullable|date|after:last_audit_date', - 'location_id' => ['nullable', 'exists:locations,id'], - 'rtd_location_id' => ['nullable', 'exists:locations,id'], - 'purchase_date' => ['nullable', 'date', 'date_format:Y-m-d'], - 'serial' => ['nullable', 'unique_undeleted:assets,serial'], - 'purchase_cost' => ['nullable', 'numeric', 'gte:0'], - 'supplier_id' => ['nullable', 'exists:suppliers,id'], - 'asset_eol_date' => ['nullable', 'date'], - 'eol_explicit' => ['nullable', 'boolean'], - 'byod' => ['nullable', 'boolean'], - 'order_number' => ['nullable', 'string', 'max:191'], - 'notes' => ['nullable', 'string', 'max:65535'], - 'assigned_to' => ['nullable', 'integer'], - 'requestable' => ['nullable', 'boolean'], - ], - parent::rules() + $rules = array_merge( + parent::rules(), + (new Asset)->getRules(), + // this is to overwrite rulesets that include required + [ + 'model_id' => ['integer', 'exists:models,id,deleted_at,NULL', 'not_array'], + 'status_id' => ['integer', 'exists:status_labels,id'], + 'asset_tag' => [ + 'min:1', 'max:255', 'not_array', + Rule::unique('assets', 'asset_tag')->ignore($this->asset)->withoutTrashed() + ], + ], ); return $rules; }