Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function postCheckout(Request $request, Mailer $mailer)
- {
- if (!Session::has('cart')) {
- return view('home.cart');
- }
- $oldCart = Session::get('cart');
- $cart = new Cart($oldCart);
- $total = $cart->totalPrice;
- foreach ($cart->items as $item) {
- $qty = 0;
- $qty = $item['qty'];
- $id = $item['item']->id;
- $product = Product::find($id);
- $sold = $product->sold;
- $sold = $sold + $qty;
- DB::statement('update products set sold = ? where id=?', [$sold, $id]);
- $vooraad = $product->vooraad;
- $totaalVooraad = $vooraad - $qty;
- DB::statement('update products set vooraad = ? where id=?', [$totaalVooraad, $id]);
- }
- if (Auth::guest()) {
- /**
- * Creating an Anonymous user for the order
- */
- $aUser = new User();
- $aUser->name = $request->name;
- $aUser->email = $request->email;
- $aUser->address = $request->address;
- $aUser->role = 'Anonymous';
- $aUser->password = bcrypt('noopassword');
- $aUser->save();
- $lastUser = User::orderBy('created_at', 'desc')->first();
- $order = new Order();
- $order->user_id = $lastUser->id;
- $order->cart = serialize($cart);
- $order->address = $request->address;
- $order->payment = $request->payment;
- $order->status = "In Progress";
- $order->cost = $total;
- $order->save();
- $email = $request->email;
- $name = $request->name;
- $mailer->to($email)->send(new OrderMail($email, $name, $order));
- Session::forget('cart');
- return redirect('/bedankt/order');
- } else {
- $order = new Order();
- $order->cart = serialize($cart);
- $order->address = $request->address;
- $order->user_id = Auth::user()->id;
- $order->payment = $request->payment;
- $order->status = "In Progress";
- $order->cost = $total;
- Auth::user()->orders()->save($order);
- Session::forget('cart');
- return redirect('/account/orders');
- }
- }
Add Comment
Please, Sign In to add comment