From d1a85f8e4ac3abc49ff46877d6c30bbee72ddc1d Mon Sep 17 00:00:00 2001 From: RomanSteinberg <romanofficial@yandex.com> Date: Mon, 14 Sep 2015 17:41:30 +0300 Subject: [PATCH] FIX: final form data visualisation --- db/stored/procedures.sql | 2 +- media/js/discipline/rating/exam.js | 3 ++- media/js/discipline/rating/rate.js | 2 +- .../Controller/Handler/FileCreator.php | 22 +++++++++++++------ 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/db/stored/procedures.sql b/db/stored/procedures.sql index bb069b287..449530ec0 100644 --- a/db/stored/procedures.sql +++ b/db/stored/procedures.sql @@ -1520,7 +1520,7 @@ BEGIN INNER JOIN `teachers` ON teachers.ID = disciplines.AuthorID INNER JOIN `departments` ON departments.ID = teachers.DepartmentID INNER JOIN `job_positions` ON job_positions.ID = teachers.JobPositionID - INNER JOIN `semesters` ON disciplines.SemesterID + INNER JOIN `semesters` ON disciplines.SemesterID = semesters.ID WHERE study_groups.ID = pGroupID LIMIT 1; END // diff --git a/media/js/discipline/rating/exam.js b/media/js/discipline/rating/exam.js index f224c5438..0161bc633 100644 --- a/media/js/discipline/rating/exam.js +++ b/media/js/discipline/rating/exam.js @@ -42,6 +42,7 @@ $(function () { var jTdInfo = jTdInfo_wrap.children('#tdInfo'); var g_URL = (window.location.href).split("/"); var g_disciplineID = $('#disciplineID').val(); + console.log(g_disciplineID ); // on page loaded // Настройки дисциплины: @@ -604,7 +605,7 @@ $(function () { var groupID = parseInt($(this).attr("id").substr(6)) var jStageSelector = $("#stageSelector_" + groupID); - + console.log(g_disciplineID ); $.fileDownload(URLdir + 'handler/FileCreator/GenerateFinalForm', { httpMethod: "POST", data: { diff --git a/media/js/discipline/rating/rate.js b/media/js/discipline/rating/rate.js index 589abcd3e..fe9da4902 100644 --- a/media/js/discipline/rating/rate.js +++ b/media/js/discipline/rating/rate.js @@ -43,7 +43,7 @@ $(function () { var g_disciplineID = $('#disciplineID').val(); var onCursorChange = function (cursor) { - console.log('(' + cursor.row + ', ' + cursor.col + ')\n'); + // console.log('(' + cursor.row + ', ' + cursor.col + ')\n'); // FIXME }; var cursor = (function (onChange) { diff --git a/~dev_rating/application/classes/Controller/Handler/FileCreator.php b/~dev_rating/application/classes/Controller/Handler/FileCreator.php index e92b7dd18..57972914b 100644 --- a/~dev_rating/application/classes/Controller/Handler/FileCreator.php +++ b/~dev_rating/application/classes/Controller/Handler/FileCreator.php @@ -182,7 +182,7 @@ class Controller_Handler_FileCreator extends Controller_Handler // Ведомость public function action_GenerateFinalForm() { - $this->user->checkAccess(User::RIGHTS_DEAN); + $this->user->checkAccess(User::RIGHTS_TEACHER | User::RIGHTS_DEAN); $this->post ->rule('disciplineID', 'not_empty') @@ -260,10 +260,16 @@ class Controller_Handler_FileCreator extends Controller_Handler foreach ($rates as $studentRates) { // проверяем дошел ли студент до этапа $stage или уже сдал - if (($stage >= 2) && - (((int) $studentRates['PreviousExam'] >= 22) || ((int) $studentRates['AutoPassed'] == 1)) - ) - continue; // не пересдавал + if ($type == 'exam') { + if (($stage >= 2) && + (((int)$studentRates['PreviousExam'] >= 22) || ((int)$studentRates['AutoPassed'] == 1)) + ) + continue; // на предыдущем этапе уже сдал + } else { + $prevStageAttempt = (int)$studentRates['PreviousExtra'] + (int)$studentRates['Semester']; + if (($stage >= 2) && ($prevStageAttempt >= 60)) + continue; // на предыдущем этапе уже сдал + } $this->addStudentToSheetNew($sheet, $type, $studentRates, $rowNumber++, $index++, $stage); } } @@ -372,13 +378,14 @@ class Controller_Handler_FileCreator extends Controller_Handler $teachers = Model_Discipline::load($data['DisciplineID'])->getTeachers()->as_array(); $teachersStr = ''; if (count($teachers) > 1) { - for ($i = 0; $i < count($teachers) - 1; ++$i) { + $i = 0; + for (; $i < count($teachers) - 1; ++$i) { $teachersStr .= Text::abbreviateName($teachers[$i]) . ', '; if ($numOfTeachersInRow * ceil(($i + 1) / $numOfTeachersInRow) == $i + 1) { $teachersStr .= "\r\n"; } } - $teachersStr .= $teachers[$i]; + $teachersStr .= Text::abbreviateName($teachers[$i]); } else $teachersStr = $data['LastName'] . " " . $data['FirstName'] . " " . $data['SecondName']; @@ -401,6 +408,7 @@ class Controller_Handler_FileCreator extends Controller_Handler $semester = $data['SemesterNum'] % 2 ? "Осенний" : "Весенний"; $sheet->setCellValue($range, $semester); + $range = $objPHPExcel->getNamedRange("Year")->getRange(); $startYear = $data['Year']; $sheet->setCellValue($range, $startYear . "/" . ($startYear + 1)); -- GitLab