/** * Маршрут deletefaculty (<route name="deletefaculty">) * Удаление факультета * * @param int $id - id факультета */ public function delete($id) { if (!BaseService::isId($id)) { $id = 0; } try { $faculty = Faculty::getSelfById($id); if ($faculty->delete()) { // Факультет успешно удален. //Задаем статус 'RES_ACT_OK' результата выполнения действия, //для автоматического редиректа на маршрут listfaculty, //который вызовет свое представление с табл. факультетов: $this->status = self::$enumResultAction['RES_ACT_OK']; } else { // факультет не прошел проверку правил, // поэтому вызываем заданное в табл. маршрутизации // представление (facultylist) с описанием нарушенного правила: $this->getView(array('tblfacul' => FacultyHelper::getTable(), 'msg_validate' => 'Внимание, удаление факультета невозможно: ' . $faculty->getBrokenRulesTotalMessage())); } } catch (FrameworkException $frmExcep) { $this->status = self::$enumResultAction['RES_ACT_ERR']; $frmExcep->redirectToExcepPage(); } }
/** * Маршрут editgroup (<route name="editgroup">) * Редактирование групп * * @param int $id - id группы * @param int $id_facul - id факультета * @param string $group_name - наименование группы * @param string $submit_val - режим выполнения */ public function update($id, $id_facul, $group_name, $submit_val) { if (!BaseService::isId($id)) { $id = 0; } if (!BaseService::isId($id_facul)) { $id_facul = 0; } switch ($submit_val) { case 'edit': try { $group = Group::getSelfById($id); $idFacultet = $group->getFaculty()->getId(); // вызов заданного в табл. маршрутизации представления (group) // c внесенными данными для редактирования: $this->getView(array('cmb_faq' => FacultyHelper::getComboBox($idFacultet), 'val_group_name' => $group->getName(), 'msg_validate' => '', 'id' => $id)); } catch (FrameworkException $frmExcep) { $this->status = self::$enumResultAction['RES_ACT_ERR']; $frmExcep->redirectToExcepPage(); } break; case 'Сохранить': try { $group = new Group($group_name, $id_facul, $id); if ($group->save()) { //Группа успешно сохранена. //Задаем статус 'RES_ACT_OK' результата выполнения действия, //для автоматического редиректа на маршрут listgroup, //который вызовет свое представление с табл. групп: $this->status = self::$enumResultAction['RES_ACT_OK']; } else { // имя группы не прошло проверку правил, // поэтому вызываем заданное в табл. маршрутизации // представление (group) для ввода данных, // с описанием нарушенного правила: $this->getView(array('cmb_faq' => FacultyHelper::getComboBox($id_facul), 'val_group_name' => '', 'msg_validate' => 'Внимание: ' . $group->getBrokenRulesTotalMessage(), 'id' => $id)); } } catch (FrameworkException $frmExcep) { $this->status = self::$enumResultAction['RES_ACT_ERR']; $frmExcep->redirectToExcepPage(); } break; case 'Отмена': //задаем статус 'RES_ACT_OK' результата выполнения действия, //для автоматического редиректа на маршрут listgroup, //который вызовет представление с табл. групп: $this->status = self::$enumResultAction['RES_ACT_OK']; break; default: throw new FrmworkExcep\RunTimeException('Аргумент $submit_val содержит недопустимое значение - "' . $submit_val . '".', GroupController::class, __METHOD__, 'Клиент изменил значение аргумента на ошибочное.'); } }