public function setTableAttributes() { if (Efiwebsetting::getData('checkOAuth') == 'yes') { IMBAuth::checkOAuth(); } $json = array(); $json['status_code'] = 1; // param, table id, table number, availabilty, sama qr(dalam base 64) $id_table = isset($_POST['id_table']) ? addslashes($_POST['id_table']) : ""; // echo $id_table; if (!$id_table) { $json['status_code'] = 0; $json['status_message'] = "No ID Table Found"; echo json_encode($json); die; } $table_number = isset($_POST['table_number']) ? addslashes($_POST['table_number']) : ""; if (!$table_number) { $json['status_code'] = 0; $json['status_message'] = "No Table number Found"; echo json_encode($json); die; } $availability = isset($_POST['availability']) ? addslashes($_POST['availability']) : "0"; if (!$availability) { $json['status_code'] = 0; $json['status_message'] = "No availability Found"; echo json_encode($json); die; } $QR = isset($_POST['QR']) ? addslashes($_POST['QR']) : ""; if (!$QR) { $json['status_code'] = 0; $json['status_message'] = "No QR Found"; echo json_encode($json); die; } $objQR = new QRModel(); $arrQR = $objQR->getWhere("textQR='{$QR}' AND status = '0'"); Generic::checkCountWithMsg($arrQR, "QR has been used!"); $objTable = new MasterTableModel(); $arrTable = $objTable->getWhere("id_table='{$id_table}'"); Generic::checkCountWithMsg($arrTable, "Table not found!"); $arrTable[0]->table_number = $table_number; $arrTable[0]->QR = $QR; $arrTable[0]->availability = "1"; $arrTable[0]->load = 1; $arrTable[0]->save(); $arrQR[0]->status = "1"; $arrQR[0]->load = "1"; $arrQR[0]->save(); $json['status_code'] = 1; $json['results'] = Mastertable::getTableByTableID($arrTable[0]->id_table); echo json_encode($json); die; }
public static function forceDoneOrder($orderId) { $order = new MasterOrderModel(); $order->getByID($orderId); $order->status_progress = Keys::$STATUS_PROGRESS_VOID; $order->save(); $o = new OrderDetailModel(); $orderDetails = $o->getWhere("id_order='{$orderId}'"); foreach ($orderDetails as $orderDetail) { $orderDetail->load = 1; $orderDetail->status_progress = Keys::$STATUS_PROGRESS_VOID; $orderDetail->save(); } $resto = new MasterRestaurantModel(); $resto->getByID($order->id_restaurant); if ($order->id_table != 0) { Mastertable::clearTable($order->id_table); } if ($order->id_user != 0) { Util::pushNotifyOrderVoided($orderId); die; } }
public function scandinein() { 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!"); } if (!User::checkUserID($id_user)) { Generic::errorMsg("ID User not found!"); } $QR = isset($_GET['QR']) ? addslashes($_GET['QR']) : ""; if (!$QR) { Generic::errorMsg("No QR found!"); } $id_order = isset($_GET['id_order']) ? addslashes($_GET['id_order']) : ""; if (!id_order) { Generic::errorMsg("id_order not found!"); } if (!MasterOrder::isIdorderValid($id_order)) { Generic::errorMsg("id_order not found!"); } $objTableHlp = Mastertable::getTableBYQR($QR); $objTable = new MasterTableModel(); $objTable->getByID($objTableHlp[0]->id_table); $objTable->appOrder = "1"; $objTable->id_order = $id_order; $objTable->status = "0"; $objTable->waitingOrder = "2"; $objTable->load = 1; $objTable->save(); $objOrder = new MasterOrderModel(); $objOrder->getByID($id_order); $objOrder->id_table = $objTableHlp[0]->id_table; $objOrder->type_order = "1"; $objOrder->load = 1; $objOrder->save(); $objOrderHlp = new MasterOrderModel(); $arrOrder = $objOrderHlp->getWhere("id_user='******' AND status_progress < 3 OR status_payment='0'"); Generic::checkCountWithMsg($arrOrder, "No ID Order from the ID User found"); $id_order = $arrOrder[0]->id_order; $order = MasterOrder::getOrder($id_order); $arrOrderDetails = OrderDetail::getOrderDetailsByIDOrderAndUserID($id_order, $id_user); $order['Order_Details'] = $arrOrderDetails; $order['restaurant'] = User::getRestaurant($order['id_restaurant']); $json['results'][] = $order; echo json_encode($json); die; }
private function forceDoneOrder($orderId) { if (Efiwebsetting::getData('checkOAuth') == 'yes') { IMBAuth::checkOAuth(); } $order = new MasterOrderModel(); $order->getByID($orderId); $order->status_progress = 9; $order->save(); $o = new OrderDetailModel(); $orderDetails = $o->getWhere("id_order='{$orderId}'"); foreach ($orderDetails as $orderDetail) { $orderDetail->load = 1; $orderDetail->status_progress = 9; $orderDetail->save(); } $resto = new MasterRestaurantModel(); $resto->getByID($order->id_restaurant); if ($order->id_table != 0) { Mastertable::clearTable($order->id_table); } if ($order->id_user != 0) { $guestId = $order->id_user; if ($order->user_guest_id != "" || $order->user_guest_id != ",") { $guestId .= $order->user_guest_id; } $j["id_order"] = $orderId; $j['datetime'] = date('Y-m-d H:i:s'); $msg = "Your order at restaurant {$resto->name} with order ID {$orderId} has been voided"; $this->pushToUser($guestId, $msg, $j, Push::$typeUpdateWaiting); die; } }
public function cancelOrder() { if (Efiwebsetting::getData('checkOAuth') == 'yes') { IMBAuth::checkOAuth(); } $json = array(); $json['status_code'] = 1; $id_order = isset($_GET['id_order']) ? addslashes($_GET['id_order']) : ""; if (!$id_order) { Generic::errorMsg("No id order found!"); } $objOrder = new MasterOrderModel(); $objOrder->getByID($id_order); Mastertable::clearTable($objOrder->id_table); $objOrder->status = "0"; $objOrder->load = 1; $idUpdate = $objOrder->save(); if (!$idUpdate) { $json['status_code'] = 0; $json['messages'] = Lang::t('save failed'); } else { $json['status_code'] = 1; $json['results']['messages'] = "Success"; } echo json_encode($json); die; }