public function postProcess() { global $currentIndex; $token = Tools::getValue('token') ? Tools::getValue('token') : $this->token; if (Tools::isSubmit('deleteGroupReduction')) { if ($this->tabAccess['delete'] === '1') { if (!($id_group_reduction = Tools::getValue('id_group_reduction'))) { $this->_errors[] = Tools::displayError('Invalid group reduction ID'); } else { $groupReduction = new GroupReduction((int) $id_group_reduction); if (!$groupReduction->delete()) { $this->_errors[] = Tools::displayError('An error occurred while deleting the group reduction'); } else { Tools::redirectAdmin($currentIndex . '&update' . $this->table . '&id_group=' . (int) Tools::getValue('id_group') . '&conf=1&token=' . $token); } } } else { $this->_errors[] = Tools::displayError('You do not have permission to delete here.'); } } if (Tools::isSubmit('submitAddGroupReduction')) { if ($this->tabAccess['add'] === '1') { if (!($obj = $this->loadObject())) { return; } $groupReduction = new GroupReduction(); if (!($id_category = Tools::getValue('id_category')) or !Validate::isUnsignedId($id_category)) { $this->_errors[] = Tools::displayError('Wrong category ID'); } elseif (!($reduction = Tools::getValue('reductionByCategory')) or !Validate::isPrice($reduction)) { $this->_errors[] = Tools::displayError('Invalid reduction (must be a percentage)'); } elseif (Tools::getValue('reductionByCategory') > 100 or Tools::getValue('reductionByCategory') < 0) { $this->_errors[] = Tools::displayError('Reduction value is incorrect'); } elseif (GroupReduction::doesExist((int) $obj->id, $id_category)) { $this->_errors[] = Tools::displayError('A reduction already exists for this category.'); } else { $groupReduction->id_category = (int) $id_category; $groupReduction->id_group = (int) $obj->id; $groupReduction->reduction = (double) $reduction / 100; if (!$groupReduction->add()) { $this->_errors[] = Tools::displayError('An error occurred while adding a category group reduction.'); } else { Tools::redirectAdmin($currentIndex . '&update' . $this->table . '&id_group=' . (int) Tools::getValue('id_group') . '&conf=3&token=' . $this->token); } } } else { $this->_errors[] = Tools::displayError('You do not have permission to add here.'); } } if (Tools::isSubmit('submitAddgroup')) { if ($this->tabAccess['add'] === '1') { if (Tools::getValue('reduction') > 100 or Tools::getValue('reduction') < 0) { $this->_errors[] = Tools::displayError('Reduction value is incorrect'); } else { $id_group_reductions = Tools::getValue('gr_id_group_reduction'); $reductions = Tools::getValue('gr_reduction'); if ($id_group_reductions) { foreach ($id_group_reductions as $key => $id_group_reduction) { if (!Validate::isUnsignedId($id_group_reductions[$key]) or !Validate::isPrice($reductions[$key])) { $this->_errors[] = Tools::displayError('Invalid reduction (must be a percentage)'); } elseif ($reductions[$key] > 100 or $reductions[$key] < 0) { $this->_errors[] = Tools::displayError('Reduction value is incorrect'); } else { $groupReduction = new GroupReduction((int) $id_group_reductions[$key]); $groupReduction->reduction = $reductions[$key] / 100; if (!$groupReduction->update()) { $this->_errors[] = Tools::displayError('Cannot update group reductions'); } } } } if (!sizeof($this->_errors)) { parent::postProcess(); } } } else { $this->_errors[] = Tools::displayError('You do not have permission to add here.'); } } elseif (isset($_GET['delete' . $this->table])) { if ($this->tabAccess['delete'] === '1') { if (Validate::isLoadedObject($object = $this->loadObject())) { if ($object->id == 1) { $this->_errors[] = Tools::displayError('You cannot delete default group.'); } else { if ($object->delete()) { Tools::redirectAdmin($currentIndex . '&conf=1&token=' . $token); } $this->_errors[] = Tools::displayError('An error occurred during deletion.'); } } else { $this->_errors[] = Tools::displayError('An error occurred while deleting object.') . ' <b>' . $this->table . '</b> ' . Tools::displayError('(cannot load object)'); } } else { $this->_errors[] = Tools::displayError('You do not have permission to delete here.'); } } else { parent::postProcess(); } }