public function reduceOrderInPendingOrder() { if (Efiwebsetting::getData('checkOAuth') == 'yes') { IMBAuth::checkOAuth(); } $json = array(); $json['status_code'] = 1; $id_user = isset($_GET['id_user']) ? addslashes($_GET['id_user']) : ""; if (!$id_user) { Generic::errorMsg("Please login!"); } $id_order = isset($_GET['id_order']) ? addslashes($_GET['id_order']) : ""; if (!$id_order) { Generic::errorMsg("ID Order not found!"); } $id_dish = isset($_GET['id_dish']) ? addslashes($_GET['id_dish']) : ""; if (!$id_dish) { Generic::errorMsg("ID Dish not found!"); } $objOrder = new MasterOrderModel(); $objOrder->getByID($id_order); $objOrderDetail = new OrderDetail(); $isLeader = false; // getcurrent qty dr iddish $currQuantity = OrderDetail::getQuantityUserByID_dish($id_dish, $id_order, $id_user); // pr($currQuantity); //TODO CHECK apakah userId ini adalah leader, kalau iya set $isLeader = true if ($id_user == $objOrder->id_user) { $isLeader = true; } if ($isLeader) { } else { $objOrderDetail->getOrderDetailsByIDOrderAndUserID($id_order, $id_user); //TODO kalau sudah 0 ERROR message, else Kurangi quantity order sendiri } if ($currQuantity < 0) { Generic::errorMsg("remove order failed!"); //TODO kalau sum order semua user dengan dish ini 0, ERROR message //TODO kalau order sendiri 0, kurangi order orang lain //TODO, else Kurangi quantity order sendiri } elseif ($currQuantity == 0) { Generic::errorMsg("remove order failed!"); } else { $id = $this->addOrderDetails($id_order, $id_user, $id_dish, $currQuantity - 1); if (!$id) { Generic::errorMsg("remove order failed!"); } } $objOrder = new MasterOrderModel(); $objOrder->getByID($id_order); $invoice = $this->calcRechnung($objOrder->id_restaurant, $id_order); $this->setInvoiceInOrder($objOrder, $invoice); $objOrder->load = 1; $id_updateOrder = $objOrder->save(); if (!$id_updateOrder) { Generic::errorMsg("Update Order failed!"); } $json['results']['messages'] = "Success"; $json['results']['invoice'] = $invoice; echo json_encode($json); die; }