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