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