/** * Checks that a user has made an order. This is used when the user needs to view their invoice after submitting an order * * @param \Illuminate\Http\Request $request * @param \Closure $next * * @return mixed */ public function handle($request, Closure $next) { if (is_null($request->user())) { if ($this->orderCookie->exists()) { if (!empty($this->orderCookie->fetch()->get())) { return $next($request); } } flash()->warning('You need to make an order first to proceed'); return redirect()->route('checkout.step1'); } return $next($request); }
/** * @return array|null */ public function getCookieData() { $cookieData = $this->orderCookie->fetch()->get(); $this->orderCookieData = $cookieData; return $this->orderCookieData; }