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; } }