# Фаза 68. Классный руководитель ## Зависимости - [Фаза 13](../03-staffing/13-management-tab.md) - [Фаза 7](../02-people/07-people-in-school.md) ## Зачем У класса появляется учитель-классный. Без него собраниям некого инициировать; игрок впервые в этом срезе что-то решает. ## Задачи - [ ] У `SchoolClass` опциональный `classTeacherId` (или эквивалент); сейв в ростере - [ ] Назначить / снять — HTTP через мейлбокс школы; только хозяин; гость `403` - [ ] Кандидат — нанятый с должностью `Teacher`; иначе отказ с текстом, не молчание - [ ] Один учитель может быть классным у нескольких классов - [ ] UI в «Управлении»: список классов со слотом классного (выбор / снять) - [ ] Имя классного видно там, где уже показывают класс (карточка ученика / управление) - [ ] Строки через `t(...)`, обе локали - [ ] Пустой слот — школа живёт как сейчас; собраний ещё нет ## Тесты, без которых фаза не закрыта - [ ] Назначение учителя класса пишет id в ростер и переживает сейв / reload - [ ] Не-учитель и чужой id отклоняются - [ ] Гость не назначает (API) - [ ] Снятие очищает слот; класс без классного валиден - [ ] Два класса могут указать одного и того же учителя ## Критерий готовности - В Управлении назначить классного 5А, открыть карточку ученика / список — имя видно; F5 / reload сохраняет - Отфильтрованные тесты проекта по Testing policy проходят ## Стоп Не вызов к директору. Не проступки. Не собрания. Не новый `PositionDef`.