/** * Show the form for creating a new resource. * * @return Response */ public function create($orderId) { $order = Order::whereId($orderId)->select('id', 'type')->first(); $user = \Auth::user(); if ($user) { //If a user is not trusted, send the error. Avoiding direct access routes to action by invalid user if (!$user->isTrusted()) { return redirect()->route('orders.show_cart', [$order->id])->withErrors(trans('freeproduct.unauthorized_access')); } //You can create free product from a sort order cart or wish list if ($order->type != 'cart' && $order->type != 'wishlist') { return redirect()->route('orders.show_cart', [$order->id])->withErrors(trans('freeproduct.order_type_invalid')); } //As is authorized to create, I check order detail $order_content = OrderDetail::where('order_id', $order->id)->get(); //Sumatorial the total order to validate that the free product creator has enough points for the transaction $total_points = 0; foreach ($order_content as $orderDetail) { $product = Product::whereId($orderDetail->product_id)->select('id', 'price')->first(); $total_points += $orderDetail->quantity * $product->price; } if ($user->current_points < $total_points) { return redirect()->route('orders.show_cart')->withErrors(['main_error' => [trans('store.cart_view.insufficient_funds')]]); } $jsonOrder = json_encode($order_content->toArray()); $panel = $this->panel; return view('freeproducts.create', compact('jsonOrder', 'panel', 'orderId')); } else { return redirect()->route('products')->withErrors(trans('freeproduct.unauthorized_access')); } }
public function getOrderCancel($id, Order $order, Payment $payment) { $customer_order = $order->whereId((int) $id)->first(); $amount = $customer_order->order_amount; $customer_id = $customer_order->customer_id; $delete = $order->whereId((int) $id)->delete(); if ($delete) { // ->increment('votes', 5); $payment->where('customer_id', (int) $customer_id)->increment('account_balance', $amount); flash()->success('Order #' . $id . ' has been cancelled and ' . nairaFormater($amount) . ' refunded to ' . customerFullname($customer_id) . '!'); } else { flash()->error('An error occurred while cancelling Order #' . $id . '!'); } return redirect()->back(); }
public function destroy($id) { $order = Order::whereId($id)->firstOrFail(); $order->delete(); return redirect('/order/index')->with('status', 'The selected order has been deleted'); }
public function delete(Request $request) { $order = Order::whereId($request->id)->first(); foreach ($order->events as $event) { $event->delete(); } $order->event()->delete(); return Order::whereId($request->id)->delete(); }