コード例 #1
0
ファイル: reception.class.php プロジェクト: biet-j/order
 public static function updateDelivryStatus($orders_id)
 {
     global $DB;
     $config = PluginOrderConfig::getConfig();
     $order = new PluginOrderOrder();
     $order->getFromDB($orders_id);
     $query = "SELECT `states_id`\n                FROM `glpi_plugin_order_orders_items`\n                WHERE `plugin_order_orders_id` = '{$orders_id}'";
     $result = $DB->query($query);
     $number = $DB->numrows($result);
     $delivery_status = 0;
     $is_delivered = 1;
     //Except order to be totally delivered
     if ($number) {
         while ($data = $DB->fetch_array($result)) {
             if ($data["states_id"] == PluginOrderOrder::ORDER_DEVICE_DELIVRED) {
                 $delivery_status = 1;
             } else {
                 $is_delivered = 0;
             }
         }
     }
     //Are all items delivered ?
     if ($is_delivered && !$order->isDelivered()) {
         $order->updateOrderStatus($orders_id, $config->getDeliveredState());
         //At least one item is delivered
     } else {
         if ($delivery_status) {
             $order->updateOrderStatus($orders_id, $config->getPartiallyDeliveredState());
         }
     }
 }