lct-39: пауза не искажает оценку ДДС и не блокирует завершённое занятие

This commit is contained in:
kaifarikman 2026-09-27 17:18:27 +03:00
commit 2304d94877
5 changed files with 202 additions and 10 deletions

View file

@ -454,7 +454,14 @@ class SessionState(PersistedSession):
return self.ended_at is not None
def end(self, reason: CallEndReason) -> datetime:
"""Закрыть занятие; возвращает момент окончания для журнала."""
"""Закрыть занятие; возвращает момент окончания для журнала.
Занятие могут завершить прямо на паузе (преподаватель нажал «Завершить»,
не возобновив): снять флаг и досчитать простой сейчас, иначе курсант
навсегда останется за баннером «Пауза, ждите преподавателя», а разбор
потеряет последний, ещё не закрытый интервал паузы (lct-39).
"""
self.resume()
self.ended_at = now_utc()
self.end_reason = reason
return self.ended_at