feat(identity): группы-когорты, история и импорт v2

This commit is contained in:
2026-10-26 15:47:49 +03:00
parent 24a92632fd
commit 07a223b759
34 changed files with 1459 additions and 248 deletions

View File

@@ -11,16 +11,27 @@
## Шаг 2. Группы и студенты
**Группы → Импорт** — загрузите `.xls`/`.xlsx`/`.csv` со списком группы
(столбцы: «Студенческий номер», «Фамилия Имя Отчество», «Основа обучения»).
Название группы берётся из файла или указывается при импорте. Логином студента
становится студенческий номер, пароль генерируется (временный, с обязательной
сменой при первом входе).
**Группы → Импорт** — загрузите `.xls`/`.xlsx`/`.csv` со списком группы.
Обязательные столбцы:
```text
поток | курс | номер | степень | год набора | ФИО | № | база
```
Все строки файла должны относиться к одной группе. Группа создаётся по полям
(имя собирается автоматически, например `ПИ-11БО`). Логином студента становится
номер (`№`), пароль генерируется (временный, с обязательной сменой при первом
входе). Ключ слияния — `student_no`: повторный импорт обновляет студента, а не
дублирует.
Импорт атомарный: при ошибке в любой строке данные не меняются, а в интерфейсе
показывается отчёт с номерами строк.
Дальше по каждому студенту при необходимости:
* **«Сбросить пароль»** — выдать новый временный пароль;
* **«Добавить существующего»** — перевести студента из другой группы;
* **«Отчислить из группы»** — убрать из группы (аккаунт и данные сохраняются).
* **«Отчислить из группы»** — убрать из группы, студент получает статус
«отчислен»; аккаунт, сдачи и оценки сохраняются.
Выгрузить логины: **«Логины XLSX» / «CSV»**.