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

Revision

Revision 253 | Revision 278 | Zur aktuellen Revision | 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 void
         */
        public function store( StoreSupplierShippingRequest $request, Supplier $supplier ): void
        {
            //
            $data = $request->validated();
            SupplierShipping::create( $data );
        }

        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 $supplierShipping
         * @return void
         */
        public function update( UpdateSupplierShippingRequest $request, Supplier $supplier, SupplierShipping $supplierShipping ): void
        {
            //
            $data = $request->validated();
            $supplierShipping->update( $data );
        }

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