Merge branch 'phase/35-appropriateness'
# Conflicts: # docs/phases/README.md
This commit is contained in:
@@ -14,31 +14,31 @@
|
||||
|
||||
## Задачи
|
||||
|
||||
- [ ] Оценка уместности из данных: пол, возраст, погода/утепление, `pe`, формальность,
|
||||
- [x] Оценка уместности из данных: пол, возраст, погода/утепление, `pe`, формальность,
|
||||
цветовые теги, длина низа. Код знает оси, пороги — defs и правила школы
|
||||
- [ ] На школе хранятся правила учеников и сотрудников (форма + цвет). Дефолт: обычная,
|
||||
- [x] На школе хранятся правила учеников и сотрудников (форма + цвет). Дефолт: обычная,
|
||||
без яркого. Смена с экрана — фаза 37; API уже пишет «с завтра»
|
||||
- [ ] «Короткая» форма: длина юбки / короткий рукав; младше порога возраста ходят в обычной
|
||||
- [ ] Дома утром: мгновенно подобрать надетое под правила, погоду и сегодняшний план
|
||||
- [x] «Короткая» форма: длина юбки / короткий рукав; младше порога возраста ходят в обычной
|
||||
- [x] Дома утром: мгновенно подобрать надетое под правила, погоду и сегодняшний план
|
||||
(учебники только сегодняшних уроков в сумке, остальное — шкафчик или дом)
|
||||
- [ ] В школе: действие `ChangeClothes` в своей (м/ж) раздевалке. Снятое — в шкафчик, если
|
||||
- [x] В школе: действие `ChangeClothes` в своей (м/ж) раздевалке. Снятое — в шкафчик, если
|
||||
есть, иначе в сумку
|
||||
- [ ] Цель «одеться к физкультуре» и «вернуться с формы» рядом с обязанностью урока; не
|
||||
- [x] Цель «одеться к физкультуре» и «вернуться с формы» рядом с обязанностью урока; не
|
||||
каждый тик, а по звонку / приходу
|
||||
- [ ] Цель «верх не по погоде» — дойти и сменить куртку, если уже в школе
|
||||
- [ ] Вместимость действия — сколько одновременно переодеваются в комнате; не путать с
|
||||
- [x] Цель «верх не по погоде» — дойти и сменить куртку, если уже в школе
|
||||
- [x] Вместимость действия — сколько одновременно переодеваются в комнате; не путать с
|
||||
числом шкафчиков
|
||||
- [ ] Игрок по-прежнему не одевает с карточки
|
||||
- [x] Игрок по-прежнему не одевает с карточки
|
||||
|
||||
## Тесты, без которых фаза не закрыта
|
||||
|
||||
- [ ] Школа с «без яркого»: утром на теле нет цвета с тегом `bright`
|
||||
- [ ] «Короткая» + первоклассница → обычная длина; старше порога — можно короткое
|
||||
- [ ] Перед уроком физкультуры ученик идёт в свою раздевалку и надевает `pe`; после — снимает
|
||||
- [ ] Мальчик не идёт в женскую раздевалку
|
||||
- [ ] Без шкафчика снятое оказывается в сумке, не исчезает
|
||||
- [ ] Морозным утром на теле есть `Outer`; в июле шубы на теле нет
|
||||
- [ ] Смена правила через API сегодня не меняет одежду до следующего рабочего утра
|
||||
- [x] Школа с «без яркого»: утром на теле нет цвета с тегом `bright`
|
||||
- [x] «Короткая» + первоклассница → обычная длина; старше порога — можно короткое
|
||||
- [x] Перед уроком физкультуры ученик идёт в свою раздевалку и надевает `pe`; после — снимает
|
||||
- [x] Мальчик не идёт в женскую раздевалку
|
||||
- [x] Без шкафчика снятое оказывается в сумке, не исчезает
|
||||
- [x] Морозным утром на теле есть `Outer`; в июле шубы на теле нет
|
||||
- [x] Смена правила через API сегодня не меняет одежду до следующего рабочего утра
|
||||
|
||||
## Критерий готовности
|
||||
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
| Фаза | Статус | Зачем |
|
||||
| --- | --- | --- |
|
||||
| [34. Износ и дом](34-wear-home.md) | ✅ | Прочность, утренняя замена, из ветхого не выходят |
|
||||
| [35. Уместность](35-appropriateness.md) | 🔄 | Правила, переодевание действием, физкультура |
|
||||
| [35. Уместность](35-appropriateness.md) | ✅ | Правила, переодевание действием, физкультура |
|
||||
| [36. Вкладки карточки](36-person-card-tabs.md) | 🔄 | Одежда, ноша, сейчас + история за сегодня |
|
||||
| [37. Правила школы](37-school-rules.md) | ⬜ | Вкладка в «Управлении», четыре комбобокса, с завтра |
|
||||
|
||||
|
||||
@@ -379,6 +379,34 @@ land under `saves/{id}.portraits/` and survive until the school is deleted.
|
||||
`GET /api/status` includes `swarmUiConfigured` and `swarmUiConnected` (`null` when not configured)
|
||||
so the client can disable generate buttons and show reachability without trying POST first.
|
||||
|
||||
### `GET /api/schools/{id}/dress-rules`
|
||||
|
||||
Student and staff dress-code pairs for the school. Unknown `{id}` is `404` `unknown-school`.
|
||||
|
||||
`form` is one of `regular`, `short`, `strict`. `color` is one of `noBright`, `whiteTopBlackBottom`,
|
||||
`free`. When a `POST` has been accepted but not yet applied, `pendingStudents` and/or `pendingStaff`
|
||||
show what takes effect on the **next work morning** (six o'clock on a weekday outside holidays) —
|
||||
not immediately.
|
||||
|
||||
```json
|
||||
{
|
||||
"students": { "form": "regular", "color": "noBright" },
|
||||
"staff": { "form": "regular", "color": "noBright" },
|
||||
"pendingStudents": null,
|
||||
"pendingStaff": null
|
||||
}
|
||||
```
|
||||
|
||||
### `POST /api/schools/{id}/dress-rules`
|
||||
|
||||
Queues a change for the next work morning. Either or both of `students` and `staff` may be sent;
|
||||
omitted sides keep their current rule. Unknown `{id}` is `404` `unknown-school`. Unknown `form` or
|
||||
`color` is `400` `unknown-form` / `400` `unknown-color`. Response body matches `GET`.
|
||||
|
||||
```json
|
||||
{ "students": { "form": "strict", "color": "noBright" } }
|
||||
```
|
||||
|
||||
### `GET /api/schools/{id}/staffing`
|
||||
|
||||
Money, uncovered subjects, the applicant pool and current staff. Reads the **published**
|
||||
|
||||
Reference in New Issue
Block a user