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');
 }
Exemple #2
0
 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');
 }
Exemple #3
0
 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);
 }
Exemple #4
0
 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);
 }