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

Revision

Revision 379 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?php

    namespace App\Http\Controllers;

    use App\Http\Requests\StoreBackendUserRequest;
    use App\Models\BackendUser;
    use Illuminate\Contracts\Foundation\Application;
    use Illuminate\Contracts\View\Factory;
    use Illuminate\Contracts\View\View;
    use Illuminate\Http\RedirectResponse;
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Hash;
    use App\Http\Requests\UserUpdateRequest;

    class BackendUserController extends Controller
    {
        /**
         * Display a listing of the resource.
         *
         */
        public function index(): Factory|View|Application
        {
            //
            $bu = BackendUser::orderBy( "rank" )->orderBy( "email" )->get();
            return view( 'backend_users', [ "users" => $bu, ] );
        }

        /**
         * Show the form for creating a new resource.
         *
         */
        public function create(): Factory|View|Application
        {
            //
            return view( 'backend_user' );
        }

        /**
         * Store a newly created resource in storage.
         *
         * @param StoreBackendUserRequest $request
         * @return RedirectResponse
         */
        public function store( StoreBackendUserRequest $request ): string
        {
            //
            $data = $request->validated();
            $data["password"] = Hash::make( $data["password"] );
            BackendUser::create( $data );
            return "{}";
        }

        /**
         * Display the specified resource.
         *
         * @param BackendUser $backendUser
         */
        public function show( BackendUser $backendUser ): void
        {
            echo $backendUser->email . " ( " . $backendUser->name . " )";
        }

        /**
         * Show the form for editing the specified resource.
         *
         * @param BackendUser $backendUser
         * @return Factory|View|Application
         */
        public function edit( BackendUser $backendUser ): Factory|View|Application
        {
            //
            $ex = explode( "@", $backendUser->email );
            $backendUser->userPart = $ex[0];
            return view( 'backend_user', [ "user" => $backendUser, ] );
        }


        /**
         * Update the specified resource in storage.
         *
         * @param UserUpdateRequest $request
         * @param BackendUser $backendUser
         * @return RedirectResponse
         */
        public function update( UserUpdateRequest $request, BackendUser $backendUser ): String
        {
            //
            $data = $request->validated();
            if ( isset( $data["password"] ) && $data["password"] )
            {
                $data["password"] = Hash::make( $data["password"] );
            }
            $data["employee"] = intval( $data["employee"] );
            $data["terminpflege"] = intval( $data["terminpflege"] );
            if ( isset( $data["app_user"] ) )
            {
                $data["app_user"] = intval( $data["app_user"] );
            }
            $data["save_session"] = intval( $data["save_session"] );
            $backendUser->update( $data );
            return "{}";
        }

        /**
         * Remove the specified resource from storage.
         *
         * @param BackendUser $backendUser
         * @return RedirectResponse
         */
        public function destroy( BackendUser $backendUser ): string
        {
            //
            $backendUser->delete();
            return "{}";
        }
    }