diff --git a/frontend/classes.html b/frontend/classes.html index 2b16add..6f0ef5e 100644 --- a/frontend/classes.html +++ b/frontend/classes.html @@ -794,7 +794,7 @@ - +
Вопросы подбираются случайно из базы по выбранному предмету diff --git a/frontend/homework.html b/frontend/homework.html index 07a7622..2f0578c 100644 --- a/frontend/homework.html +++ b/frontend/homework.html @@ -552,7 +552,11 @@ const wrap = document.getElementById('hw-active-wrap'); const list = document.getElementById('hw-active-list'); if (!wrap || !list) return; - const active = _assignments.filter(a => !asgnDone(a)).sort((x, y) => urgencyScore(x) - urgencyScore(y)); + // Только задания с флагом ДЗ (is_homework) — это страница «Домашние задания», + // обычные тесты/экзамены сюда не попадают. + const active = _assignments + .filter(a => a.is_homework && !asgnDone(a)) + .sort((x, y) => urgencyScore(x) - urgencyScore(y)); if (!active.length) { wrap.style.display = 'none'; return; } wrap.style.display = ''; document.getElementById('hw-active-count').textContent = active.length; @@ -565,7 +569,8 @@ const sel = document.getElementById('hw-assignment-sel'); if (!sel) return; sel.querySelectorAll('option[data-asgn]').forEach(o => o.remove()); - list.filter(a => !a.session_id && !a.textbook_id).forEach(a => { + // Привязать загрузку можно только к ДЗ, куда ученик сдаёт файл (тип upload/file). + list.filter(a => a.is_homework && (asgnType(a) === 'upload' || asgnType(a) === 'file')).forEach(a => { const opt = document.createElement('option'); opt.value = a.id; opt.textContent = a.title + (a.class_name && a.class_name !== 'Личное задание' ? ' · ' + a.class_name : '');