Subversion-Projekte lars-tiefland.laravel_shop

Revision

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

Revision Autor Zeilennr. Zeile
1245 lars 1
<?php
2
 
1246 lars 3
    namespace App\Http\Controllers;
1245 lars 4
 
1246 lars 5
    use App\Models\BackendUser;
1296 lars 6
    use App\Models\User;
1249 lars 7
    use Illuminate\Contracts\Foundation\Application;
8
    use Illuminate\Contracts\View\Factory;
9
    use Illuminate\Contracts\View\View;
1261 lars 10
    use Illuminate\Http\RedirectResponse;
1246 lars 11
    use Illuminate\Http\Request;
1295 lars 12
    use App\Http\Requests\UserUpdateRequest;
1296 lars 13
    use Illuminate\Validation\Rule;
1245 lars 14
 
1246 lars 15
    class BackendUserController extends Controller
1245 lars 16
    {
1246 lars 17
        /**
18
         * Display a listing of the resource.
19
         *
20
         */
1249 lars 21
        public function index(): Factory|View|Application
1246 lars 22
        {
23
            //
1277 lars 24
            $bu = BackendUser::orderBy( "rank" )->orderBy( "email" )->get();
1246 lars 25
            return view( 'admin/backend_users', [ "users" => $bu, ] );
26
        }
1245 lars 27
 
1246 lars 28
        /**
29
         * Show the form for creating a new resource.
30
         *
31
         */
1261 lars 32
        public function create(): Factory|View|Application
1246 lars 33
        {
34
            //
1262 lars 35
            return view( 'admin/backend_user' );
1246 lars 36
        }
1245 lars 37
 
1246 lars 38
        /**
39
         * Store a newly created resource in storage.
40
         *
1261 lars 41
         * @param Request $request
42
         * @return RedirectResponse
1246 lars 43
         */
1288 lars 44
        public function store( Request $request ): RedirectResponse
1246 lars 45
        {
46
            //
1289 lars 47
            $rules = [
1296 lars 48
                'email'  => 'bail|required|email|max:255', Rule::unique(User::class)->ignore($this->user()->email),
1289 lars 49
                'name'   => 'bail|max:255',
1290 lars 50
                'passwd' => 'bail|required|confirmed'
1289 lars 51
            ];
52
            $request->validate( $rules );
1263 lars 53
            $bu = new BackendUser();
1290 lars 54
            $bu->update( $request->validated() );
1263 lars 55
            return redirect( "/backend/backend_users" );
1246 lars 56
        }
1245 lars 57
 
1246 lars 58
        /**
59
         * Display the specified resource.
60
         *
61
         * @param int $id
62
         */
1261 lars 63
        public function show( int $id )
1246 lars 64
        {
65
            //
66
        }
1245 lars 67
 
1246 lars 68
        /**
69
         * Show the form for editing the specified resource.
70
         *
71
         * @param int $id
1262 lars 72
         * @return Factory|View|Application
1246 lars 73
         */
1261 lars 74
        public function edit( int $id ): Factory|View|Application
1246 lars 75
        {
76
            //
1261 lars 77
            $bu = BackendUser::find( $id );
1272 lars 78
            $ex = explode( "@", $bu->email );
79
            $bu->userPart = $ex[0];
1265 lars 80
            return view( 'admin/backend_user', [ "user" => $bu, ] );
1246 lars 81
        }
1245 lars 82
 
1288 lars 83
 
1246 lars 84
        /**
85
         * Update the specified resource in storage.
86
         *
1261 lars 87
         * @param Request $request
1246 lars 88
         * @param int $id
1261 lars 89
         * @return RedirectResponse
1246 lars 90
         */
1295 lars 91
        public function update( UserUpdateRequest $request, int $id ): RedirectResponse
1246 lars 92
        {
93
            //
1288 lars 94
            $rules = [
95
                'email'  => 'bail|required|email|max:255|unique:backend_users',
96
                'name'   => 'bail|max:255',
1289 lars 97
                'passwd' => 'bail|sometimes|confirmed'
1295 lars 98
	    ];
1288 lars 99
            $request->validate( $rules );
1261 lars 100
            $bu = BackendUser::find( $id );
1290 lars 101
            $bu->update( $request->validated() );
1261 lars 102
            return redirect( "/backend/backend_users" );
1246 lars 103
        }
1245 lars 104
 
1246 lars 105
        /**
106
         * Remove the specified resource from storage.
107
         *
108
         * @param int $id
1261 lars 109
         * @return RedirectResponse
1246 lars 110
         */
1261 lars 111
        public function destroy( int $id ): RedirectResponse
1246 lars 112
        {
113
            //
1261 lars 114
            $bu = BackendUser::find( $id );
115
            $bu->delete();
116
            return redirect( "/backend/backend_users" );
1246 lars 117
        }
1245 lars 118
    }