Merge branch 'phase/68-class-teacher'

This commit is contained in:
Leonid Pershin
2026-08-21 09:54:44 +03:00
23 changed files with 993 additions and 23 deletions
+13 -13
View File
@@ -12,22 +12,22 @@
## Задачи
- [ ] У `SchoolClass` опциональный `classTeacherId` (или эквивалент); сейв в ростере
- [ ] Назначить / снять — HTTP через мейлбокс школы; только хозяин; гость `403`
- [ ] Кандидат — нанятый с должностью `Teacher`; иначе отказ с текстом, не молчание
- [ ] Один учитель может быть классным у нескольких классов
- [ ] UI в «Управлении»: список классов со слотом классного (выбор / снять)
- [ ] Имя классного видно там, где уже показывают класс (карточка ученика / управление)
- [ ] Строки через `t(...)`, обе локали
- [ ] Пустой слот — школа живёт как сейчас; собраний ещё нет
- [x] У `SchoolClass` опциональный `classTeacherId` (или эквивалент); сейв в ростере
- [x] Назначить / снять — HTTP через мейлбокс школы; только хозяин; гость `403`
- [x] Кандидат — нанятый с должностью `Teacher`; иначе отказ с текстом, не молчание
- [x] Один учитель может быть классным у нескольких классов
- [x] UI в «Управлении»: список классов со слотом классного (выбор / снять)
- [x] Имя классного видно там, где уже показывают класс (карточка ученика / управление)
- [x] Строки через `t(...)`, обе локали
- [x] Пустой слот — школа живёт как сейчас; собраний ещё нет
## Тесты, без которых фаза не закрыта
- [ ] Назначение учителя класса пишет id в ростер и переживает сейв / reload
- [ ] Не-учитель и чужой id отклоняются
- [ ] Гость не назначает (API)
- [ ] Снятие очищает слот; класс без классного валиден
- [ ] Два класса могут указать одного и того же учителя
- [x] Назначение учителя класса пишет id в ростер и переживает сейв / reload
- [x] Не-учитель и чужой id отклоняются
- [x] Гость не назначает (API)
- [x] Снятие очищает слот; класс без классного валиден
- [x] Два класса могут указать одного и того же учителя
## Критерий готовности
+1 -1
View File
@@ -13,7 +13,7 @@
| Фаза | Статус | Зачем |
| --- | --- | --- |
| [68. Классный руководитель](68-class-teacher.md) | 🔄 | Назначение в Управлении, только учителя |
| [68. Классный руководитель](68-class-teacher.md) | | Назначение в Управлении, только учителя |
**Этап B — проступки и кабинет.** Память, авто-вызов, экран.