/** * Возвращает список с факультетами и их группами. * * @param int $idSelectedGroup - id выделенной записи * @return string список факультетов и их групп в формате HTML */ public static function getGroupsAndFaculties($idSelectedGroup = 0) { if (!BaseService::isId($idSelectedGroup)) { $idSelectedGroup = 0; } try { $result = '<select name="id_group" size="15">'; foreach (Faculty::getAllItems() as $eachFaculty) { $result .= '<optgroup label="' . $eachFaculty->getName() . '">'; foreach ($eachFaculty->getGroups() as $eachGroup) { if ($eachGroup instanceof NullGroup) { continue; } $selected = $idSelectedGroup == $eachGroup->getId() ? ' selected ' : ''; $result .= '<option value="' . $eachGroup->getId() . '"' . $selected . '>' . $eachGroup->getName() . '</option>'; } $result .= '</optgroup>'; } $result .= '</select>'; } catch (FrameworkException $frmExcep) { $frmExcep->redirectToExcepPage(); } return $result; }
/** * Маршрут 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(); } }
public function getGroups() { return parent::getGroups(); }
public function getFaculty() { return $this->faculty ? $this->faculty : Faculty::getSelfById($this->idFaculty); }