diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index 0475b91b40..a82d983cf5 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -67,10 +67,6 @@ class Handler extends ExceptionHandler return response()->json(Helper::formatStandardApiResponse('error', null, $className . ' not found'), 200); } - if ($e instanceof \Illuminate\Validation\ValidationException) { - return response()->json(Helper::formatStandardApiResponse('error', null, $e->response['messages'], 400)); - } - if ($this->isHttpException($e)) { $statusCode = $e->getStatusCode(); @@ -85,11 +81,6 @@ class Handler extends ExceptionHandler } } - // Try to parse 500 Errors in a bit nicer way when debug is enabled. - if (config('app.debug')) { - return response()->json(Helper::formatStandardApiResponse('error', null, "An Error has occured! " . $e->getMessage()), 500); - } - } @@ -128,6 +119,6 @@ class Handler extends ExceptionHandler */ protected function invalidJson($request, ValidationException $exception) { - return response()->json($exception->errors(), $exception->status); + return response()->json(Helper::formatStandardApiResponse('error', null, $exception->errors(), 400)); } } diff --git a/app/Http/Requests/AssetRequest.php b/app/Http/Requests/AssetRequest.php index 8228529aed..1934f8254e 100644 --- a/app/Http/Requests/AssetRequest.php +++ b/app/Http/Requests/AssetRequest.php @@ -4,7 +4,7 @@ namespace App\Http\Requests; use App\Models\AssetModel; use Session; - +use Illuminate\Http\Exceptions\HttpResponseException; use Illuminate\Contracts\Validation\Validator; @@ -32,7 +32,7 @@ class AssetRequest extends Request 'model_id' => 'required|integer|exists:models,id', 'status_id' => 'required|integer|exists:status_labels,id', 'company_id' => 'integer|nullable', - 'warranty_months' => 'numeric|nullable', + 'warranty_months' => 'numeric|nullable|digits_between:0,240', 'physical' => 'integer|nullable', 'checkout_date' => 'date', 'checkin_date' => 'date', @@ -48,7 +48,7 @@ class AssetRequest extends Request $rules['asset_tag'] = ($settings->auto_increment_assets == '1') ? 'max:255' : 'required'; - if($this->request->get('model_id') != '') { + if ($this->request->get('model_id') != '') { $model = AssetModel::find($this->request->get('model_id')); if (($model) && ($model->fieldset)) { @@ -60,13 +60,6 @@ class AssetRequest extends Request } - public function response(array $errors) - { - $this->session()->flash('errors', Session::get('errors', new \Illuminate\Support\ViewErrorBag) - ->put('default', new \Illuminate\Support\MessageBag($errors))); - \Input::flash(); - return parent::response($errors); - } /** * Handle a failed validation attempt. @@ -76,13 +69,17 @@ class AssetRequest extends Request * @param \Illuminate\Contracts\Validation\Validator $validator * @return void * - * @throws \Illuminate\Validation\ValidationException + * @throws \Illuminate\Http\Exceptions\HttpResponseException */ protected function failedValidation(Validator $validator) { - return response()->json([ - 'message' => 'The given data is invalid', - 'errors' => $validator->errors() - ], 422); + $this->session()->flash('errors', Session::get('errors', new \Illuminate\Support\ViewErrorBag) + ->put('default', new \Illuminate\Support\MessageBag($validator->errors()->toArray()))); + \Input::flash(); + throw new HttpResponseException(response()->json([ + 'status' => 'error', + 'messages' => $validator->errors(), + 'payload' => null + ], 422)); } } diff --git a/app/Http/Requests/SaveUserRequest.php b/app/Http/Requests/SaveUserRequest.php index 57dc455195..0de6a3bc02 100644 --- a/app/Http/Requests/SaveUserRequest.php +++ b/app/Http/Requests/SaveUserRequest.php @@ -2,10 +2,12 @@ namespace App\Http\Requests; -use App\Http\Requests\Request; use App\Models\Setting; +use Illuminate\Http\Exceptions\HttpResponseException; +use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Contracts\Validation\Validator; -class SaveUserRequest extends Request +class SaveUserRequest extends FormRequest { /** * Determine if the user is authorized to make this request. @@ -62,4 +64,5 @@ class SaveUserRequest extends Request return $rules; } + } diff --git a/app/Models/Asset.php b/app/Models/Asset.php index be860e157e..71d9029160 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -75,7 +75,7 @@ class Asset extends Depreciable 'model_id' => 'required|integer|exists:models,id', 'status_id' => 'required|integer|exists:status_labels,id', 'company_id' => 'integer|nullable', - 'warranty_months' => 'numeric|nullable|max:240', + 'warranty_months' => 'numeric|nullable|digits_between:0,240', 'physical' => 'numeric|max:1|nullable', 'checkout_date' => 'date|max:10|min:10|nullable', 'checkin_date' => 'date|max:10|min:10|nullable',