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

Revision

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

<?php

    namespace App\Http\Controllers\bestellwesen;

    use App\Http\Controllers\Controller;
    use App\Http\Requests\StoreSupplierShippingRequest;
    use App\Http\Requests\UpdateSupplierShippingRequest;
    use App\Models\Supplier;
    use App\Models\SupplierShipping;
    use App\Models\ShippingGroup;
    use Illuminate\Contracts\Foundation\Application;
    use Illuminate\Contracts\View\Factory;
    use Illuminate\Contracts\View\View;
    use Illuminate\Http\Response;

    class SupplierShippingController extends Controller
    {
        public function __construct()
        {
            $inselversand = array(
                "keine Berücksichtigung",
                "kein Inselversand",
                "nur Inselversand",
            );
            \View::share( "inselversand", $inselversand );
            $shippingGroups = ShippingGroup::all();
            $versandgruppen = array();
            foreach ( $shippingGroups as $shippingGroup )
            {
                $versandgruppen[$shippingGroup->id] = $shippingGroup->name;
            }
            \View::share( "versandgruppen", $versandgruppen );
        }

        /**
         * Display a listing of the resource.
         *
         * @param Supplier $supplier
         * @return Application|Factory|View
         */
        public function index( Supplier $supplier ): View|Factory|Application
        {
            //
            $vKosten = SupplierShipping::with( 'shipping_group' )->where( "supplier_id", $supplier->id )->orderBy( 'rank' )->get();
            return view( "online_shop.shipping_include", [ "shipping" => $vKosten, "supplier" => $supplier, ] );
        }

        /**
         * Show the form for creating a new resource.
         *
         * @param Supplier $supplier
         * @return Application|Factory|View
         */
        public function create( Supplier $supplier ): View|Factory|Application
        {
            //
            return view( "online_shop.shipping", [ "supplier" => $supplier ] );
        }

        /**
         * Store a newly created resource in storage.
         *
         * @param StoreSupplierShippingRequest $request
         * @param Supplier $supplier
         * @return string
         */
        public function store( StoreSupplierShippingRequest $request, Supplier $supplier ): string
        {
            //
            $data = $request->validated();
            $data["supplier_id"] = $supplier->id;
            SupplierShipping::create( $data );
            return "{}";
        }

        public function show( Supplier $supplier, SupplierShipping $shipping ): void
        {
            echo $shipping->name . " für Lieferanten " . $supplier->name;
        }

        /**
         * Show the form for editing the specified resource.
         *
         * @param Supplier $supplier
         * @param SupplierShipping $shipping
         * @return Application|Factory|View
         */
        public function edit( Supplier $supplier, SupplierShipping $shipping ): View|Factory|Application
        {
            //
            $shipping->load( 'shipping_group' );
            return view( "online_shop.shipping", [ "supplier" => $supplier, "vk" => $shipping, ] );
        }

        /**
         * Update the specified resource in storage.
         *
         * @param UpdateSupplierShippingRequest $request
         * @param Supplier $supplier
         * @param SupplierShipping $shipping
         * @return string
         */
        public function update( UpdateSupplierShippingRequest $request, Supplier $supplier, SupplierShipping $shipping ): string
        {
            //
            $data = $request->validated();
            $data["supplier_id"] = $supplier->id;
            $shipping->update( $data );
            return "{}";
        }

        /**
         * Remove the specified resource from storage.
         *
         * @param Supplier $supplier
         * @param SupplierShipping $shipping
         * @return string
         */
        public function destroy( Supplier $supplier, SupplierShipping $shipping ): string
        {
            //
            $shipping->delete();
            return "{}";
        }
    }