Exemple #1
0
 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;
 }
Exemple #2
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();
     $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;
     }
 }