public function canStillUseBudget($input) { $budget = new Budget(); $budget->getFromDB($input['budgets_id']); //If no begin date on a budget : do not display a warning if (empty($budget->fields['begin_date'])) { return true; } else { //There's a begin date and order date is prior to it if ($input['order_date'] < $budget->getField('begin_date')) { return false; } //There's an end date and order date is above it if (!empty($budget->fields['end_date']) && $input['order_date'] > $budget->getField('end_date')) { return false; } } return true; }
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(); $budget->getFromDB($this->fields['budgets_id']); 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; } }