Ejemplo n.º 1
0
 public function getFaculty()
 {
     return parent::getFaculty();
 }
 /**
  * Маршрут deletestudent ( <route name="deletestudent">)
  * 
  * Удаление студента
  * 
  * @param int $id - id студента
  */
 public function delete($id)
 {
     if (!BaseService::isId($id)) {
         $id = 0;
     }
     try {
         $student = Student::getSelfById($id);
         $idGroup = $student->getGroup()->getId();
         if ($student->delete()) {
             // Студент успешно удален.
             //Автоматический редирект на маршрут home:
             $this->status = self::$enumResultAction['RES_ACT_OK'];
             //вносим параметры для маршрута home:
             $this->addParametersForAutoRedirectRoute(array('id_group' => $idGroup));
         } else {
             // студент не прошел проверку правил,
             // поэтому вызываем заданное в табл. маршрутизации
             // представление (home) с описанием нарушенного правила:
             $this->status = self::$enumResultAction['RES_ACT_ERR'];
             $number_page_student = 1;
             $this->getView(array('tblstudents' => StudentHelper::getStudentsFromGroup($idGroup, $number_page_student, self::MAX_ROWS_ON_PAGE), 'name_group' => $student->getGroup()->getName(), 'tblgroups' => GroupHelper::getGroups($idGroup), 'number_page_student' => StudentHelper::getCountPagesStudents($idGroup, self::MAX_ROWS_ON_PAGE, $number_page_student), 'id_group' => $idGroup, 'msg_validate' => 'Внимание, удаление студента невозможно:  ' . $student->getBrokenRulesTotalMessage()));
         }
     } catch (FrameworkException $frmExcep) {
         $this->status = self::$enumResultAction['RES_ACT_ERR'];
         $frmExcep->redirectToExcepPage();
     }
 }