public function checkOut()
{
$user = \Auth::user();
$cart = Order::ofType('cart')->ofUser($user->id)->select('id')->first();
$cartDetail = $cart ? OrderDetail::where('order_id', $cart->id)->get() : [];
$addresses = $user->addresses->sortByDesc('default');
$defaultId = '';
foreach ($addresses as $value) {
if ($value->default == '1') {
$defaultId = $value->id;
break;
}
}
$total_points = 0;
foreach ($cartDetail as $orderDetail) {
$product = Product::find($orderDetail->product_id);
$total_points += $orderDetail->quantity * $product->price;
}
if ($user->current_points < $total_points && config('app.payment_method') == 'Points') {
return redirect()->route('orders.show_cart')->withErrors(['main_error' => [trans('store.cart_view.insufficient_funds')]]);
} else {
$panel = ['center' => ['width' => '12']];
$callBackUrl = 'user/orders/checkOut';
return view('address.list', compact('user', 'panel', 'cart', 'addresses', 'callBackUrl', 'defaultId'));
}
}