42 lines
877 B
PHP
42 lines
877 B
PHP
|
<?php
|
||
|
|
||
|
namespace App\Http\Requests;
|
||
|
|
||
|
use Illuminate\Foundation\Http\FormRequest;
|
||
|
use Illuminate\Http\Request;
|
||
|
use Illuminate\Support\Facades\Gate;
|
||
|
use Illuminate\Validation\Rule;
|
||
|
|
||
|
use App\Models\User;
|
||
|
|
||
|
class UserRequest extends FormRequest
|
||
|
{
|
||
|
public function authorize()
|
||
|
{
|
||
|
return Gate::allows( 'admin');
|
||
|
}
|
||
|
|
||
|
public function rules(Request $request)
|
||
|
{
|
||
|
if (! $request->isMethod('post'))
|
||
|
return [];
|
||
|
|
||
|
$o = $this->route('o');
|
||
|
return [
|
||
|
'email' => 'required|email|unique:users,email,'.($o->exists ? $o->id : 0),
|
||
|
'name' => 'required|min:3',
|
||
|
'pgp_pubkey' => [
|
||
|
'nullable',
|
||
|
'min:64',
|
||
|
//function ($attribute,$value,$fail) { return $fail('Not this time'); }
|
||
|
],
|
||
|
'alias' => 'nullable|min:1',
|
||
|
'active' => 'required|boolean',
|
||
|
'admin' => 'required|boolean',
|
||
|
'system_id' => [
|
||
|
'nullable',
|
||
|
Rule::in($o->systems->pluck('id')),
|
||
|
],
|
||
|
];
|
||
|
}
|
||
|
}
|