Guest User

Untitled

a guest
Sep 11th, 2017
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1.  
  2. public function postCheckout(Request $request, Mailer $mailer)
  3. {
  4. if (!Session::has('cart')) {
  5. return view('home.cart');
  6. }
  7. $oldCart = Session::get('cart');
  8.  
  9. $cart = new Cart($oldCart);
  10. $total = $cart->totalPrice;
  11.  
  12. foreach ($cart->items as $item) {
  13. $qty = 0;
  14. $qty = $item['qty'];
  15. $id = $item['item']->id;
  16. $product = Product::find($id);
  17. $sold = $product->sold;
  18. $sold = $sold + $qty;
  19. DB::statement('update products set sold = ? where id=?', [$sold, $id]);
  20.  
  21. $vooraad = $product->vooraad;
  22.  
  23. $totaalVooraad = $vooraad - $qty;
  24. DB::statement('update products set vooraad = ? where id=?', [$totaalVooraad, $id]);
  25.  
  26. }
  27. if (Auth::guest()) {
  28. /**
  29. * Creating an Anonymous user for the order
  30. */
  31. $aUser = new User();
  32. $aUser->name = $request->name;
  33. $aUser->email = $request->email;
  34. $aUser->address = $request->address;
  35. $aUser->role = 'Anonymous';
  36. $aUser->password = bcrypt('noopassword');
  37.  
  38. $aUser->save();
  39. $lastUser = User::orderBy('created_at', 'desc')->first();
  40.  
  41. $order = new Order();
  42. $order->user_id = $lastUser->id;
  43. $order->cart = serialize($cart);
  44. $order->address = $request->address;
  45. $order->payment = $request->payment;
  46. $order->status = "In Progress";
  47. $order->cost = $total;
  48.  
  49. $order->save();
  50.  
  51. $email = $request->email;
  52. $name = $request->name;
  53. $mailer->to($email)->send(new OrderMail($email, $name, $order));
  54.  
  55. Session::forget('cart');
  56. return redirect('/bedankt/order');
  57. } else {
  58. $order = new Order();
  59. $order->cart = serialize($cart);
  60. $order->address = $request->address;
  61. $order->user_id = Auth::user()->id;
  62. $order->payment = $request->payment;
  63. $order->status = "In Progress";
  64. $order->cost = $total;
  65.  
  66. Auth::user()->orders()->save($order);
  67.  
  68. Session::forget('cart');
  69. return redirect('/account/orders');
  70. }
  71.  
  72. }
Add Comment
Please, Sign In to add comment