Subversion-Projekte lars-tiefland.webanos.marine-sales.de

Revision

Revision 335 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
322 lars 1
<?php
2
 
3
    namespace App\Http\Requests;
4
 
5
    use App\Models\BackendUser;
6
    use Illuminate\Foundation\Http\FormRequest;
7
    use Illuminate\Validation\Rule;
8
 
332 lars 9
    class StoreBackendUserRequest extends FormRequest
322 lars 10
    {
11
        /**
12
         * Determine if the user is authorized to make this request.
13
         *
14
         * @return bool
15
         */
16
        public function authorize(): bool
17
        {
18
            if ( $_SESSION["admin"]["uid"] == $this->user()->id || $_SESSION["admin"]["user"]->admin == 1 || isset( $GLOBALS["user_rechte"]["admin"]["admin"] ) )
19
            {
20
                return true;
21
            }
22
            return false;
23
        }
24
 
25
        /**
26
         * Get the validation rules that apply to the request.
27
         *
28
         * @return array<string, mixed>
29
         */
30
        public function rules(): array
31
        {
32
            return [
334 lars 33
                'password'          => 'bail|min:8|required|confirmed',
332 lars 34
                'email'             => 'bail|required|email|max:255', Rule::unique( BackendUser::class ),
322 lars 35
                'employee'          => 'integer|in:0,1',
36
                'rank'              => 'integer|min:0|max:500',
37
                'terminpflege'      => 'integer|in:0,1',
38
                'ignoreRemoteHosts' => 'integer|in:0,1',
39
                'description'       => 'sometimes',
40
                'phone'             => 'sometimes',
41
                'fax'               => 'sometimes',
42
                'save_session'      => 'integer|in:0,1',
43
                'app_user'          => 'integer|in:0,1',
44
            ];
45
        }
46
 
47
        protected function prepareForValidation(): void
48
        {
49
            $this->merge( [ "email" => $this->user . "@" . env( "shop" ) ] );
50
        }
332 lars 51
 
325 lars 52
        protected function passedValidation(): void
53
        {
54
            foreach ( $this as $key => $val )
55
            {
56
                if ( is_null( $val ) )
57
                {
58
                    $this->$key = "";
59
                }
335 lars 60
                elseif ( $key == "password" && $this->password )
61
                {
336 lars 62
                    $this->password = Hash::make( $this->password );
335 lars 63
                }
325 lars 64
            }
65
        }
322 lars 66
    }