Files

2.3 KiB
Raw Permalink Blame History

Фаза 68. Классный руководитель

Зависимости

Зачем

У класса появляется учитель-классный. Без него собраниям некого инициировать; игрок впервые в этом срезе что-то решает.

Задачи

  • У SchoolClass опциональный classTeacherId (или эквивалент); сейв в ростере
  • Назначить / снять — HTTP через мейлбокс школы; только хозяин; гость 403
  • Кандидат — нанятый с должностью Teacher; иначе отказ с текстом, не молчание
  • Один учитель может быть классным у нескольких классов
  • UI в «Управлении»: список классов со слотом классного (выбор / снять)
  • Имя классного видно там, где уже показывают класс (карточка ученика / управление)
  • Строки через t(...), обе локали
  • Пустой слот — школа живёт как сейчас; собраний ещё нет

Тесты, без которых фаза не закрыта

  • Назначение учителя класса пишет id в ростер и переживает сейв / reload
  • Не-учитель и чужой id отклоняются
  • Гость не назначает (API)
  • Снятие очищает слот; класс без классного валиден
  • Два класса могут указать одного и того же учителя

Критерий готовности

  • В Управлении назначить классного 5А, открыть карточку ученика / список — имя видно; F5 / reload сохраняет
  • Отфильтрованные тесты проекта по Testing policy проходят

Стоп

Не вызов к директору. Не проступки. Не собрания. Не новый PositionDef.