public function addItem($productId) { $cart = Cart::where('user_id', Auth::user()->id)->first(); if (!$cart) { $cart = new Cart(); $cart->user_id = Auth::user()->id; $cart->save(); } $cartItem = new Cartitem(); $cartItem->product_id = $productId; $cartItem->cart_id = $cart->id; $cartItem->save(); return redirect('/cart'); }
public function addItem(Request $request, $productId) { #check service $product = Product::find($productId); if (!$product) { return redirect()->route("home")->with("error", "No product select"); } $qty = $request->get("qty", 0); $user = Sentinel::getUser(); $cart = $this->_createCart(); $this->billing($cart, $request); $cartItem = new Cartitem(); $cartItem->product_id = $productId; $cartItem->cart_id = $cart->id; $cartItem->quantity = $qty; $cartItem->track_num = $request->get('track_num', ''); $cartItem->carrier = $request->get('carrier', ''); $cartItem->unit_price = $product->price; $cartItem->save(); for ($i = 0; $i < $qty; $i++) { if (!$request->has("passenger_id-" . $i)) { $birthdate = $request->get("year-dob-" . $i) . '-' . $request->get("month-dob-" . $i) . '-' . $request->get("day-dob-" . $i); $passport_expirate = $request->get("year-passportExp-" . $i) . '-' . $request->get("month-passportExp-" . $i) . '-' . $request->get("day-passportExp-" . $i); $passenger = Passenger::create(['first_name' => $request->get("fname-" . $i), 'last_name' => $request->get("lname-" . $i), 'gender' => $request->get("gender-" . $i), 'birthdate' => $birthdate, 'passport_num' => $request->get("passport-" . $i), 'passport_expirate' => $passport_expirate]); } $passenger->cartitem()->attach($cartItem); } return redirect('/cart'); }
function edit($id) { $cart = new Cartitem($id); if (!$cart->exists()) { show_404(); } $cartDetail = $cart->cartdetail; if ($_SERVER['REQUEST_METHOD'] == "POST") { $cart->status = $this->input->post('cartStatus'); $cart->description = $this->input->post('description'); $cart->dateDeliver = $this->input->post('dateDeliver'); $cart->prePaid = $this->input->post('prePaid'); $cart->taxInfo = $this->input->post('taxInfo'); $cart->linkOnline = $this->input->post('linkOnline'); $cart->total = $this->input->post('hiTotal'); $cart->shipType = $this->input->post('deliverMethod'); $cart->paymentType = $this->input->post('payment'); $cart->deliverStore_id = $this->input->post('branchReceive'); $cart->paymentStore_id = $this->input->post('branchPayment'); $cart->shipName = $this->input->post('info_name'); $cart->shipEmail = $this->input->post('info_email'); $cart->shipPhone = $this->input->post('info_phone'); $cart->shipDescription = $this->input->post('info_description'); $cart->shipAddress = $this->input->post('info_address'); $cart->save(); foreach ($cartDetail as $row) { $row->status = $this->input->post('cartDetailStatus_' . $row->id); $row->quantity = $this->input->post('cartDetailQuantity_' . $row->id); $row->inBox = $this->input->post('cartDetailInbox_' . $row->id); $row->price = $this->input->post('cartDetailPrice_' . $row->id); $row->save(); $row->clear(); } redirect('admin/carts/edit/' . $id); } $store = new store(); $store->order_by('id', 'asc'); $store->get_iterated(); $dis['store'] = $store; $dis['menu_active'] = 'Giỏ hàng'; $dis['cartdetail'] = $cartDetail; $dis['object'] = $cart; $dis['cart'] = $cart; $dis['title'] = "Chi tiết đơn hàng"; $dis['base_url'] = base_url(); $dis['view'] = 'cart/edit'; $dis['nav_menu'] = array(array("type" => "back", "text" => "Back", "link" => "{$this->admin_url}carts/list_all/", "onclick" => "")); $this->viewadmin($dis); }
function showCart() { $step = 1; if ($this->uri->segment(2, "") != "") { $stepStr = $this->uri->segment(2, ""); $stepStr = explode("-", $stepStr); $step = $stepStr[1]; if ($step != '2' && $step != '3') { show_404(); } if (!$this->_checkLogin()) { redirect('dang-nhap/' . 'gio-hang/buoc-' . $step); } } //get product from cookie $cartDetail = $this->getCartCookie(); $product = new product(); $productList = array(0); $store = new store(); $store->get_iterated(); $dis['store'] = $store; foreach ($cartDetail as $key => $value) { array_push($productList, $key); } $product->where_in('id', $productList); $product->get(); if ($_SERVER['REQUEST_METHOD'] == 'POST') { $cart = new Cartitem(); $cart->customer_id = $this->customer->id; $cart->shipType = $this->input->post('receiveType'); $cart->paymentType = $this->input->post('payment'); $cart->deliverStore_id = $this->input->post('branchReceive'); $cart->paymentStore_id = $this->input->post('branchPayment'); $cart->shipName = $this->input->post('info_name'); $cart->shipEmail = $this->input->post('info_email'); $cart->shipPhone = $this->input->post('info_phone'); $cart->shipDescription = $this->input->post('info_description'); $cart->shipAddress = $this->input->post('info_address'); $cart->status = enum::CART_WAIT_FOR_PROCESS; $cart->save(); $sum = 0; foreach ($product as $row) { $cartDetailItem = new Cartdetail(); $cartDetailItem->cartitem_id = $cart->id; $cartDetailItem->product_id = $row->id; $cartDetailItem->quantity = $cartDetail[$row->id]; $cartDetailItem->price = $row->getRealPriceNum(); $cartDetailItem->productName = $row->name; $cartDetailItem->inBox = $row->inBox; $cartDetailItem->status = enum::CARTDETAIL_AVAILABLE; $cartDetailItem->save(); $cartDetailItem->clear(); $itemTotal = $cartDetail[$row->id] * $row->getRealPriceNum(); $sum += $itemTotal; } $cart->total = $sum; $cart->save(); $this->sendMailCustomer($cart->id); $this->sendMailCustomerService($cart->id); //save cart detail setcookie("userCart", json_encode(array()), mktime() . time() + 60 * 60 * 24 * 7, "/"); $dis['view'] = 'cart/cart4'; } else { $dis['step'] = $step; $dis['product'] = $product; $dis['cartDetail'] = $cartDetail; $dis['view'] = 'cart/cart1'; } $dis['base_url'] = base_url(); $this->viewfront($dis); }