Subversion-Projekte lars-tiefland.webanos.faltradxxs.de

Revision

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

<?php

    namespace App\Http\Controllers;

    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 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 Request $request
         * @return RedirectResponse
         */
        public function store( Request $request ): RedirectResponse
        {
            //
            $rules = [
                'name'   => 'bail|max:255',
                'passwd' => 'bail|min:8|required|confirmed'
            ];
            $request->validate( $rules );
            $bu = new BackendUser();
            $bu->update( $request->validated() );
            return redirect( "/backend_users" );
        }

        /**
         * Display the specified resource.
         *
         * @param int $id
         */
        public function show( int $id )
        {
            //
        }

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


        /**
         * Update the specified resource in storage.
         *
         * @param UserUpdateRequest $request
         * @param int $id
         * @return RedirectResponse
         */
        public function update( UserUpdateRequest $request, int $id ): RedirectResponse
        {
            //
            $rules = [
                'name'   => 'bail|max:255',
                'passwd' => 'bail|sometimes|confirmed'
            ];
            $request->validate( $rules );
            $bu = BackendUser::find( $id );
            $data = $request->validated();
            if ( is_null( $data["phone"] ) )
            {
                $data["phone"] = "";
            }
            if ( is_null( $data["fax"] ) )
            {
                $data["fax"] = "";
            }
            if ( is_null( $data["description"] ) )
            {
                $data["description"] = "";
            }
            $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"] );
            $bu->update( $data );
            return redirect( "/backend_users" );
        }

        /**
         * Remove the specified resource from storage.
         *
         * @param int $id
         * @return RedirectResponse
         */
        public function destroy( int $id ): RedirectResponse
        {
            //
            $bu = BackendUser::find( $id );
            $bu->delete();
            return redirect( "/backend_users" );
        }
    }