Implement people management features by adding API endpoints for retrieving school rosters and individual person cards. Enhance the UI to support a people browser with filtering and pagination capabilities. Update localization strings for improved user experience and ensure robust handling of person data. Revise documentation to reflect new API functionalities and update tests to validate the new features.
ci / server (push) Failing after 11s
ci / client (push) Successful in 17s

This commit is contained in:
Leonid Pershin
2026-08-18 19:44:42 +03:00
parent 52c5082418
commit 533bd80f5e
23 changed files with 2134 additions and 47 deletions
+8 -8
View File
@@ -11,19 +11,19 @@
## Задачи
- [ ] `GET /api/schools/{id}/people`: фильтры (роль, параллель, должность, пол, диапазон
- [x] `GET /api/schools/{id}/people`: фильтры (роль, параллель, должность, пол, диапазон
возраста), сортировка, страница. Читает **опубликованный снимок** ростера и не трогает
воркер — инвариант «только поток школы касается школы» остаётся целым
- [ ] `GET /api/schools/{id}/people/{personId}`: карточка через мейлбокс воркера с
- [x] `GET /api/schools/{id}/people/{personId}`: карточка через мейлбокс воркера с
`TaskCompletionSource`, потому что нужды живые
- [ ] Панель «Люди» нижним рядом оболочки менеджера, во всю ширину: фильтры, сортируемые
- [x] Панель «Люди» нижним рядом оболочки менеджера, во всю ширину: фильтры, сортируемые
колонки, пейджер
- [ ] Строка списка — только лёгкие поля: ФИО, роль, класс или должность, возраст, пол
- [ ] Карточка: тело, навыки, черты, нужды, семья со ссылками на родных — по ссылке открывается
- [x] Строка списка — только лёгкие поля: ФИО, роль, класс или должность, возраст, пол
- [x] Карточка: тело, навыки, черты, нужды, семья со ссылками на родных — по ссылке открывается
карточка родственника
- [ ] Строки и подписи через `t(...)`, как всё остальное
- [ ] `docs/protocol.md` пополняется в том же коммите, что и обработчики
- [ ] Тесты API: фильтр по роли и параллели, сортировка, границы страниц, неизвестная школа,
- [x] Строки и подписи через `t(...)`, как всё остальное
- [x] `docs/protocol.md` пополняется в том же коммите, что и обработчики
- [x] Тесты API: фильтр по роли и параллели, сортировка, границы страниц, неизвестная школа,
неизвестный человек
## Критерий готовности
+1 -1
View File
@@ -34,5 +34,5 @@
| [5. Дефы человека](05-people-defs.md) | ✅ | Навыки, черты, тело, нужды, наборы имён в каталоге |
| [6. Библиотека генерации](06-people-generator.md) | ✅ | `HSchool.People`: семьи из карты и сида |
| [7. Люди в школе](07-people-in-school.md) | ✅ | Сущности в `World`, ростер на диске, 11 кабинетов в `core` |
| [8. Просмотр людей](08-people-browser.md) | | Панель со списком, фильтрами и карточкой |
| [8. Просмотр людей](08-people-browser.md) | | Панель со списком, фильтрами и карточкой |
| [9. Годовой набор](09-yearly-intake.md) | ⬜ | Первое сентября: переход, выпуск, набор |