/**
  * Маршрут home ( <route name="home">)
  * 
  * Вызов представления (home) для отображения студентов
  * @param int $id_group - id группы
  * @param int $number_page_student - номер страницы со студентами
  */
 public function index($id_group, $number_page_student)
 {
     if (!BaseService::isId($id_group)) {
         $id_group = 0;
     }
     try {
         $group = Group::getSelfById($id_group);
         $nameGroup = $group instanceof NullGroup ? '' : 'группы ' . $group->getName() . ' (кол-во студентов - ' . $group->getCountStudents() . ').';
         $this->getView(array('tblstudents' => StudentHelper::getStudentsFromGroup($id_group, $number_page_student, self::MAX_ROWS_ON_PAGE), 'name_group' => $nameGroup, 'tblgroups' => GroupHelper::getGroups($id_group), 'number_page_student' => StudentHelper::getCountPagesStudents($id_group, self::MAX_ROWS_ON_PAGE, $number_page_student), 'id_group' => $id_group));
     } catch (FrameworkException $frmExcep) {
         $this->status = self::$enumResultAction['RES_ACT_ERR'];
         $frmExcep->redirectToExcepPage();
     }
 }
 /**
  * Возвращает таблицу со студентами для выделенной группы.
  * 
  * @param int $idGroup - id группы
  * @param int $numberPage - номер страницы
  * @param int $maxRowsOnPage - max записей на странице
  * @return string таблица со студентами для выделенной группы в формате HTML
  */
 public static function getStudentsFromGroup($idGroup, $numberPage, $maxRowsOnPage)
 {
     $result = '';
     if (!BaseService::isId($idGroup)) {
         return $result;
     }
     if ($maxRowsOnPage < 1) {
         throw new FrmworkExcep\RunTimeException('Недопустимое значение переменной  $maxRowsOnPage - "' . $maxRowsOnPage . '".', StudentHelper::class, __METHOD__, 'Проверьте клиентский код вызова метода getCountPagesStudents.');
     }
     if (!BaseService::isId($numberPage)) {
         $numberPage = 1;
     }
     $startRowIndex = ($numberPage - 1) * $maxRowsOnPage + 1;
     $endRowIndex = $startRowIndex + $maxRowsOnPage - 1;
     try {
         $group = Group::getSelfById($idGroup);
     } catch (FrameworkException $frmExcep) {
         $frmExcep->redirectToExcepPage();
     }
     if ($group instanceof NullGroup) {
         return $result;
     }
     $i = 0;
     foreach ($group->getStudents() as $eachStudent) {
         $i++;
         if ($startRowIndex <= $i && $endRowIndex >= $i) {
             if ($eachStudent instanceof NullStudent) {
                 $prefix = '<tr><td align="center"></td><td>';
                 $suffix = '</tr>';
             } else {
                 $prefix = '<tr><td align="center">' . $i . '</td><td>';
                 $suffix = '<td align="center"><a href="editstudent?id=' . $eachStudent->getId() . '&submit_val=edit">Редактировать</a> &nbsp;<a href="deletestudent?id=' . $eachStudent->getId() . '" onClick="return confirm (\'Вы хотите удалить студента?\');">Удалить</a> </td></tr>';
             }
             $result .= $prefix . $eachStudent->getName() . '</td><td td align="center">' . $eachStudent->getSex() . '</td><td td align="center">' . $eachStudent->getAge() . '</td>' . $suffix;
         }
     }
     return $result;
 }
Пример #3
0
 public function getStudents()
 {
     return parent::getStudents();
 }
 /**
  * Маршрут deletegroup (<route name="deletegroup">)
  * Удаление факультета
  * 
  * @param int $id - id группы
  */
 public function delete($id)
 {
     if (!BaseService::isId($id)) {
         $id = 0;
     }
     try {
         $group = Group::getSelfById($id);
         if ($group->delete()) {
             // Группа успешно удалена.
             //Задаем статус 'RES_ACT_OK' результата выполнения действия,
             //для автоматического редиректа на маршрут listgroup,
             //который вызовет представление с табл. групп:
             $this->status = self::$enumResultAction['RES_ACT_OK'];
         } else {
             // группа не прошла проверку правил,
             // поэтому вызываем заданное в табл. маршрутизации
             // представление (grouplist) с описанием нарушенного правила:
             $this->getView(array('tblgroups' => GroupHelper::getGroupsWithActions(), 'msg_validate' => 'Внимание, удаление группы невозможно:  ' . $group->getBrokenRulesTotalMessage()));
         }
     } catch (FrameworkException $frmExcep) {
         $this->status = self::$enumResultAction['RES_ACT_ERR'];
         $frmExcep->redirectToExcepPage();
     }
 }
Пример #5
0
 /**
  * Возвращаем группу, в которой учится студент.
  * 
  * @return object группa
  */
 public function getGroup()
 {
     return $this->group ? $this->group : Group::getSelfById($this->idGroup);
 }