diff --git a/~dev_rating/application/classes/Controller/Handler/FileCreator.php b/~dev_rating/application/classes/Controller/Handler/FileCreator.php index c45e1843526ae330f6646cc9982eea716c9898ce..e61a4a9a0dfe8e7f5f7b0e0e3b3642a625b9807c 100644 --- a/~dev_rating/application/classes/Controller/Handler/FileCreator.php +++ b/~dev_rating/application/classes/Controller/Handler/FileCreator.php @@ -702,7 +702,9 @@ class Controller_Handler_FileCreator extends Controller_Handler if ($examHold != 0) { $examRateStr = $examRateValue; - if (($examAdmission < 38) or ($examRateValue < 22)) { + if ($examAdmission < 38) { + $rateOfFive = 'н/д'; + } elseif ($examRateValue < 22) { $rateOfFive = 'неуд'; } else { $totalRateStr = $totalRateValue; diff --git a/~dev_rating/application/views/teacher/exam.twig b/~dev_rating/application/views/teacher/exam.twig index 48931738cc29787dbb8677452564c8d8d461be8f..1bba7a0b1c31edaf0cab5f1a1e3c8add4ec738a3 100644 --- a/~dev_rating/application/views/teacher/exam.twig +++ b/~dev_rating/application/views/teacher/exam.twig @@ -145,7 +145,7 @@ {% endif %} {% if r.Block == 'True' or (r.ModuleType != 'extra' and student.RateResult < 38) %} - <td class="staticCell {{ td_class }}" id="col_{{ col }}_row_{{ row }}"> + <td class="{{ td_class }}" id="col_{{ col }}_row_{{ row }}"> <input type="text" value="{{ r.Rate }}" disabled="disabled"> </td> {% else %} diff --git a/~dev_rating/media/js/rating.js b/~dev_rating/media/js/rating.js index fccf53c270b947b493e82a10bfb63b3b3334d3fe..e03e94f5fa455b7a491f7b40178df1dea4b0f18b 100644 --- a/~dev_rating/media/js/rating.js +++ b/~dev_rating/media/js/rating.js @@ -42,22 +42,24 @@ $(function() { } function controlRowVisualization(jRow) { - var jAutoPassCheckBox = jRow.children(".autoPass").children(".autoPassCheck"); - var jAbsenceCheckBoxes = jRow.children(".absenceCell").children(".absenceCheck"); - var semesterRate = parseInt(jRow.children(".semesterRateResultCell").text()); - var autopass = jAutoPassCheckBox[0].checked; - var absence = jAbsenceCheckBoxes[0].checked; - if ((semesterRate < 60) || (absence)) - jAutoPassCheckBox.attr("disabled", true); - else - jAutoPassCheckBox.removeAttr("disabled"); - - if ((semesterRate < 38) || (autopass)) - jAbsenceCheckBoxes.attr("disabled", true); - else - jAbsenceCheckBoxes.removeAttr("disabled"); - - // TODO: disable CommonCell connected with this exam if absence or autopass checked + if ($("#pageType").val() === "exam") { + var jAutoPassCheckBox = jRow.children(".autoPass").children(".autoPassCheck"); + var jAbsenceCheckBoxes = jRow.children(".absenceCell").children(".absenceCheck"); + var semesterRate = parseInt(jRow.children(".semesterRateResultCell").text()); + var autopass = jAutoPassCheckBox[0].checked; + var absence = jAbsenceCheckBoxes[0].checked; + if ((semesterRate < 60) || (absence)) + jAutoPassCheckBox.attr("disabled", true); + else + jAutoPassCheckBox.removeAttr("disabled"); + + if ((semesterRate < 38) || (autopass)) + jAbsenceCheckBoxes.attr("disabled", true); + else + jAbsenceCheckBoxes.removeAttr("disabled"); + + // TODO: disable CommonCell connected with this exam if absence or autopass checked + } } function controlVisualization() { @@ -222,10 +224,9 @@ $(function() { return; } - var newRate = 0; + var newRate = -1; // если пустая строка в ячейке, значит ничего не поставлено if (jThis.children("input").val() !== "") newRate = parseInt(jThis.children("input").val()); - if (newRate == oldRate) return; @@ -239,8 +240,9 @@ $(function() { { // страница сессии rateResult += parseInt(jThis.siblings(".semesterRateResultCell").text()); + rateResult += parseInt(jThis.siblings(".bonus").text()); - jThis.siblings(".additionalCell").each(function () { + jThis.siblings(".additionalCell").each(function () { if ($(this).children("input").val() !== "") rateResult += parseInt($(this).children("input").val()); }); @@ -252,16 +254,15 @@ $(function() { if (rate) rateResult += parseInt(rate); }); - var examRateStr = jThis.siblings(".examCell").children("p").text(); - if (examRateStr) - rateResult += parseInt(examRateStr); + var additionalRateStr = jThis.siblings(".staticCell").children("p").text(); if (additionalRateStr) rateResult += parseInt(additionalRateStr); } if (newRate <= g_submoduleMaxRate) { - + if (newRate == -1) + newRate = null; // TODO: начить setRate принимать null на вход $.ajax({ type: "POST", url: URLdir + "handler/rating/setRate",