diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index 38ab8da1d7dedf4b231b31a94c1edb97bf4e09c1..a13e4a953247f073713a998d5fff68d29c8304d3 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -2148,7 +2148,8 @@ BEGIN faculties.ID AS 'FacultyID', faculties.Name AS 'FacultyName', disciplines.isLocked AS 'isLocked', - (modules.ID IS NOT NULL) AS 'isBonus' + (modules.ID IS NOT NULL) AS 'isBonus', + disciplines.isMilestone FROM `disciplines` INNER JOIN `subjects` ON subjects.ID = disciplines.SubjectID INNER JOIN `faculties` ON faculties.ID = disciplines.FacultyID diff --git a/~dev_rating/application/classes/Controller/Teacher/Rating.php b/~dev_rating/application/classes/Controller/Teacher/Rating.php index dea08e8edd8902165e030c2abafe429efa5245f7..2816a5ea5b0793d52ebf38b2119a05859ba10db0 100644 --- a/~dev_rating/application/classes/Controller/Teacher/Rating.php +++ b/~dev_rating/application/classes/Controller/Teacher/Rating.php @@ -30,6 +30,7 @@ class Controller_Teacher_Rating extends Controller_UserEnvi { $temp = $this->model_discipline->getDisciplineInfoByID($id); $disciplineInfo['ExamType'] = $temp[0]['ExamType']; $disciplineInfo['ID'] = $id; + $disciplineInfo['isMilestone'] = $temp[0]['isMilestone']; $disciplineInfo['StudyGroupID_Filter'] = $this->getStudyGroupID_ForFilter($id); return $disciplineInfo; @@ -44,7 +45,7 @@ class Controller_Teacher_Rating extends Controller_UserEnvi { $id = $this->request->param('id'); // Шапка таблицы: структура УКД (модули и мероприятия) - $structure = $this->model_rating->GetMapForDiscipline($this->UserInfo['TeacherID'], $id); + $structure = $this->model_rating->GetMapForDiscipline($this->UserInfo['TeacherID'], $id); if($structure->count() == 0) throw HTTP_Exception::factory (404, "Для дисциплины с ID $id не создана УКД или такой дисциплины не существует!"); diff --git a/~dev_rating/application/views/teacher/rating.twig b/~dev_rating/application/views/teacher/rating.twig index d2298cd4f8a06f3a0c055b1a97e03d76295abb14..88ec4e30ab665242e994e82b8b5ae580641842f4 100644 --- a/~dev_rating/application/views/teacher/rating.twig +++ b/~dev_rating/application/views/teacher/rating.twig @@ -12,6 +12,11 @@ {% block main_top_title %}Выставление баллов{% endblock %} {% block main_content %} + {% if disciplineInfo.isMilestone > 0 %} + <p class="canNotEdit"> + Семестр завершен. Выставление баллов <u>запрещено</u>. + </p> + {% endif %} <h2 class="h2_titleSubject">{{ SubjectName }}</h2> <button class="downloadExcel" style="display: none">Скачать в excel формате [dev version]</button> @@ -92,7 +97,7 @@ <td id="student_{{ student.ID }}" class="studentCell staticCell">{{ student.Last }} {{ student.First }}</td> {% for i in 1..CellCount %} {% set j = j + 1 %} - {% if student.Rates[i].SubmoduleID >= 0 %} + {% if student.Rates[i].SubmoduleID >= 0 and disciplineInfo.isMilestone == 0 %} <td id="col_{{ j }}" class="commonCell"> <input type="text" value="{{ student.Rates[i].Rate }}"> </td> diff --git a/~dev_rating/media/css/rating.css b/~dev_rating/media/css/rating.css index b26ddb6ee43021503de2ef78b44b46a1ef7a1f75..c91d73eb08517ff9c5e27ca825b44b80171985b9 100644 --- a/~dev_rating/media/css/rating.css +++ b/~dev_rating/media/css/rating.css @@ -193,3 +193,18 @@ div#tdInfo_wrap { cursor: pointer; } /* end todo */ + + +/* Copied from discipline.css */ +.canNotEdit { + position: absolute; + padding: 6px 10px; + top: 0; + right: 0; + text-align: center; + font-size: 14px; + color: #a94442; + background: #f2dede; + border-radius: 0 0 0 5px; +} +