예제 #1
0
 public function isOverBudget($ID)
 {
     global $DB;
     //Do not check if it's a template
     if ($this->fields['is_template']) {
         return PluginOrderOrder::ORDER_IS_UNDER_BUDGET;
     }
     // Compute all prices for BUDGET
     $table = $this->getTable();
     $query = "SELECT *\n                FROM `{$table}`\n                WHERE `budgets_id` = '{$this->fields['budgets_id']}'";
     // Get BUDGET
     $budget = new Budget();
     if (!$budget->getFromDB($this->fields['budgets_id'])) {
         return false;
     }
     Toolbox::logDebug($budget);
     if ($budget->fields['value'] == 0) {
         return PluginOrderOrder::ORDER_IS_UNDER_BUDGET;
     }
     $total_HT = 0;
     foreach ($DB->request($query) as $data) {
         $item = new PluginOrderOrder_Item();
         $prices = $item->getAllPrices($data['id']);
         $total_HT += $prices["priceHT"] + $data['port_price'];
     }
     // Compare BUDGET value to TOTAL_HT value
     if ($total_HT > $budget->getField('value')) {
         return PluginOrderOrder::ORDER_IS_OVER_BUDGET;
     } elseif ($total_HT == $budget->getField('value')) {
         return PluginOrderOrder::ORDER_IS_EQUAL_BUDGET;
     } else {
         return PluginOrderOrder::ORDER_IS_UNDER_BUDGET;
     }
 }