/**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     //
     $order = Order::find($id);
     $order_detail = Order_detail::where('order_id', $id)->get();
     $product = Product::all();
     $color = Color::all();
     $size = Size::all();
     return view('backend.pages.order.detail', array('order' => $order, 'detail' => $order_detail, 'product' => $product, 'color' => $color, 'size' => $size));
 }
Beispiel #2
0
 /**
  * The attributes that are mass assignable.
  *
  * @var array
  */
 public static function addOrder_detail($orderid, $key)
 {
     $Order_detail = new Order_detail();
     $Order_detail->order_id = $orderid;
     $Order_detail->product_id = $key['id'];
     $Order_detail->name = $key['name'];
     $Order_detail->quantity = $key['quantity'];
     $Order_detail->color_id = $key['color'];
     $Order_detail->size_id = $key['size'];
     $Order_detail->price = $key['price'];
     $Order_detail->save();
     return;
 }
 public function createOrder(Request $request)
 {
     Log::info('OrderController.createOrder:');
     $validator = Validator::make($request->all(), ['email' => 'required|email', 'address' => 'required', 'phone' => 'required|size:10', 'delivery_charges' => 'sometimes', 'payment_type' => 'sometimes|in:cod,online', 'items' => 'required']);
     if ($validator->fails()) {
         return response()->json(['response' => 'failure', 'message' => $validator->errors()]);
     }
     $order = Order::create($request->all());
     $order_id = $order->id;
     $total_amount = 0;
     $msg = "";
     if ($request->has('items')) {
         $input = $request->input('items');
         foreach ($input as $i) {
             //Check whether the food item exists
             $food = Food::find($i['food_id']);
             if (!$food || $food->quantity < $i['ordered_quantity']) {
                 $msg .= "Item " . $i['food_id'] . " is not available.";
                 //return response()->json(['response' => 'failure', 'message' => $msg, 'order' => $order]);
             } else {
                 //Add items to the order
                 $i['order_id'] = $order_id;
                 $order_detail = Order_detail::create($i);
                 $total_amount += $food->price * $i['ordered_quantity'];
                 //Update quantity in food table
                 $food->quantity = $food->quantity - $i['ordered_quantity'];
                 $food->save();
             }
         }
     }
     if ($total_amount > 0) {
         $order->item_total = $total_amount;
         $order->status = 'placed';
         $order->save();
         Event::fire(new OrderPlaced($order));
         Log::info('Order placed', ['id' => $order->id]);
         return response()->json(['response' => 'success', 'message' => $msg, 'order' => $order]);
     } else {
         //Delete the order record as none of the items are available
         $order->delete();
         Log::info('Order Deleted as items are not available', ['id' => $order_id]);
         return response()->json(['response' => 'failure', 'message' => $msg]);
     }
 }
 public function addOrder(OrderRequest $request)
 {
     $checkout = $request->all();
     $data = Session::get('cart');
     $orderid = Order::addOrder($checkout, $data);
     foreach ($data as $key) {
         # code...
         Order_detail::addOrder_detail($orderid, $key);
     }
     Session::forget('cart');
     return redirect('/cart')->withErrors(['error' => 'Vui lòng kiểm tra email để xác nhận đơn hàng']);
 }