middleware(['auth','wholesaler']); foreach ($request->except(['_token','supplier_details','submit']) as $key => $item) $o->{$key} = $item; $o->active = (bool)$request->active; try { $o->save(); } catch (\Exception $e) { return redirect()->back()->withErrors($e->getMessage())->withInput(); } $o->load(['detail']); $oo = $o->detail ?: new SupplierDetail; foreach ($request->get('supplier_details',[]) as $key => $item) $oo->{$key} = $item; $o->detail()->save($oo); return redirect()->back() ->with('success','Supplier saved'); } /** * Site up site wide suppliers, or a site's supplier details * * @note This method is protected by the routes * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View */ public function admin_home() { $this->middleware(['auth','wholesaler']); return view('supplier.home'); } /** * Show the suppliers invoice * * @param Cost $o * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View */ public function cost(Cost $o) { // @todo Need to add the services that are active that are not on the bill for the supplier. return view('supplier.cost',['o'=>$o]); } /** * View a supplier. * * @param Supplier|null $o * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View */ public function view(?Supplier $o) { $this->middleware(['auth','wholesaler']); return view('supplier.details') ->with('o',$o); } }