Add class-teacher slots on SchoolClass with owner-only assign/clear.

EOF

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-21 09:37:37 +03:00
co-authored by Cursor
parent 99eca80d6d
commit 4096d5306e
22 changed files with 992 additions and 22 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] Два класса могут указать одного и того же учителя
## Критерий готовности