snipe-it/app/Http/Requests/AssetRequest.php

65 lines
1.9 KiB
PHP
Raw Normal View History

2016-03-25 01:18:05 -07:00
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
2016-03-25 19:26:22 -07:00
use App\Models\AssetModel;
use Session;
2016-06-22 12:27:41 -07:00
2016-03-25 01:18:05 -07:00
class AssetRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
$rules = [
'name' => 'min:2|max:255',
'model_id' => 'required|integer',
'status_id' => 'required|integer',
'company_id' => 'integer|nullable',
'warranty_months' => 'numeric|nullable',
'physical' => 'integer|nullable',
'checkout_date' => 'date',
'checkin_date' => 'date',
'supplier_id' => 'integer|nullable',
'status' => 'integer|nullable',
'asset_tag' => 'required',
'purchase_cost' => 'numeric|nullable',
"assigned_user" => 'sometimes:required_without_all:assigned_asset,assigned_location',
"assigned_asset" => 'sometimes:required_without_all:assigned_user,assigned_location',
"assigned_location" => 'sometimes:required_without_all:assigned_user,assigned_asset',
2016-03-25 01:18:05 -07:00
];
2016-03-25 19:26:22 -07:00
$model = AssetModel::find($this->request->get('model_id'));
2016-03-25 01:18:05 -07:00
2016-06-22 12:27:41 -07:00
if (($model) && ($model->fieldset)) {
2016-03-25 01:18:05 -07:00
$rules += $model->fieldset->validation_rules();
}
return $rules;
}
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);
2016-03-25 01:18:05 -07:00
}
}