Files
WhatIDo/public
dev 28fac8a7aa feat(lessons): группа в отчёте о занятии подбирается по расписанию
В модалке отчёта о занятии группа выбиралась всегда первой по списку.
Теперь при открытии модалки и при смене даты/времени группа
подбирается автоматически по параметрам группы: день недели
(day_of_week) совпадает с датой занятия, а время попадает в окно
[time_start, time_end].

Что добавлено:
- lessonDowFromIso — ISO-дата в день недели через Date.UTC/getUTCDay,
  тем же приёмом, что isoAddDays в js/datetime.js: прямой
  new Date('YYYY-MM-DD') сдвинул бы дату на день назад
- lessonMinutes — разбор 'HH:MM(:SS)' из PostgreSQL в минуты
- lessonGroupForDateTime — подбор группы; при пересечении расписаний
  побеждает группа с самым поздним началом
- applyLessonGroupAuto — ставит значение в #lessonGroup

Ручной выбор пользователя закрепляется флагом lessonGroupTouched
(ставится только реальным событием change на самом селекте), поэтому
автоподбор не перебивает его и не зацикливается. Флаг сбрасывается
в resetLessonModalFields. Явный opts.groupId из журнала/отчётов и
редактирование по opts.id автоподбор не трогают.

Бэкенд, схема БД и миграции не менялись: /api/groups уже отдаёт
day_of_week/time_start/time_end через SELECT g.*
2026-10-04 14:13:21 +03:00
..