Subversion-Projekte lars-tiefland.laravel_shop

Revision

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