diff --git a/web/src/main/resources/static/js/admin-group.js b/web/src/main/resources/static/js/admin-group.js index 290036b..abd01b5 100644 --- a/web/src/main/resources/static/js/admin-group.js +++ b/web/src/main/resources/static/js/admin-group.js @@ -324,7 +324,9 @@ function applyDefenseToCell(s) { if (s.status === 'started' && s.endsAt) btn.setAttribute('data-seconds', String(Math.max(0, Math.ceil((s.endsAt - Date.now()) / 1000)))); if (s.code) btn.setAttribute('data-code', s.code); else btn.removeAttribute('data-code'); btn.classList.remove('ok', 'warn', 'dim'); - btn.classList.add(s.status === 'ready' ? 'ok' : (s.status === 'waiting' || s.status === 'started' ? 'warn' : 'dim')); + btn.classList.add(s.status === 'ready' + ? (s.readyReason === 'timeout' ? 'warn' : 'ok') + : (s.status === 'waiting' || s.status === 'started' ? 'warn' : 'dim')); var label = btn.querySelector('.js-def-label'); var timer = btn.querySelector('.js-def-timer'); var started = s.status === 'started'; @@ -340,12 +342,13 @@ function applyDefenseToCell(s) { if (label) { label.textContent = started ? '' : (s.status == null ? '—' - : (s.status === 'ready' ? 'готова' + : (s.status === 'ready' + ? (s.readyReason === 'timeout' ? 'кончилось время' : 'готова') : (s.code ? 'код ' + s.code : 'ожидает'))); } if (s.status === 'ready') { btn.title = 'Защита: ' + defenseReasonText(s.readyReason); - if (label) label.textContent = 'готова'; + if (label) label.textContent = s.readyReason === 'timeout' ? 'кончилось время' : 'готова'; } } @@ -368,7 +371,7 @@ function syncDefenseStatuses(sessions, initial) { var btn = defenseBtn(s.sessionId); var who = (btn && btn.getAttribute('data-student-name')) || 'студент'; var lab = (btn && btn.getAttribute('data-lab-name')) || 'лабораторная'; - var reason = s.readyReason === 'timeout' ? 'время вышло' : 'нажал «Готов»'; + var reason = s.readyReason === 'timeout' ? 'кончилось время' : 'нажал «Готов»'; showToast(who + ' — ' + lab + ': ' + reason + '.'); } @@ -429,7 +432,7 @@ function startDefenseWatch() { /* ---------- Индивидуальное задание (защита) ---------- */ function defenseReasonText(reason) { - if (reason === 'timeout') return 'Вышло время'; + if (reason === 'timeout') return 'Кончилось время'; return 'Готов к сдаче'; } diff --git a/web/src/main/resources/templates/admin/group.html b/web/src/main/resources/templates/admin/group.html index 47094f6..18aaa93 100644 --- a/web/src/main/resources/templates/admin/group.html +++ b/web/src/main/resources/templates/admin/group.html @@ -146,14 +146,14 @@ th:href="@{/admin/submissions/{id}/download(id=${cell.submissionId}, group=${group.name}, no=${row.studentNo}, name=${row.fullName}, attempt=${cell.submissionSeq})}">сдача ↓ 1 не сдано diff --git a/web/src/main/resources/templates/student/lab.html b/web/src/main/resources/templates/student/lab.html index c2ae1de..ecfbcb7 100644 --- a/web/src/main/resources/templates/student/lab.html +++ b/web/src/main/resources/templates/student/lab.html @@ -108,7 +108,7 @@
-

+

Ожидайте преподавателя с проверкой.