Commit Graph

9 Commits

Author SHA1 Message Date
dadbbb30cf Modals: lock background scroll; comment dropdown keeps row on one line, full tone labels, flip up near bottom 2026-09-29 16:19:15 +03:00
751d6bae42 Grade comments: dropdown matches input width, compact tone select, responsive wrap 2026-09-29 16:09:39 +03:00
2869142a79 Grade comments: show live usage count and allow deleting unused templates 2026-09-29 15:56:00 +03:00
a73226b2ab Admin group: large variant modal with the assigned variant task text 2026-09-28 17:37:18 +03:00
9df1af7647 Admin group: variant modal, cell badges/counters, header cleanup, bigger modal 2026-09-28 17:09:55 +03:00
23213f2d75 Admin grades: comment autocomplete by substring, larger grade dialog 2026-09-28 16:32:01 +03:00
82f231c940 Admin group: single table, defense actions in cells; flash messages as toasts 2026-09-28 16:23:29 +03:00
2a0e8ddf9f Table columns: dropdown/text filters per column
- tablekit builds a filter row under the headers for every th with data-filter;
  distinct cell values become a select (label from data-filter-label), or a
  text substring filter with data-filter="text"
- filters combine with the global table search; placeholder rows (colspan) are
  not filtered away; filter row follows the lab-focus column hiding
- enabled on: matrix lab columns (by variant), defense table (ЛР, status with
  readable values), students (Основа, Пароль), lab assignment lists (Уровень,
  Источник, Сдача), labs list (Статус)
2026-09-15 22:43:48 +03:00
cdf4fb0ee0 Phase 7: deployment, data import, UI hardening and security fixes
Docker/prod deployment:
- multi-stage Dockerfile (JDK21 build, JRE21 run), docker-compose.prod.yml,
  nginx config for lms.our-place.ru, deploy.sh; DEPLOY/IMPORT guides (UI flow)
- Fix Docker 401: LMS_JWT_JWK_SET_URI for academic/progress; forward-headers

Variant distribution (lab page only):
- round-robin by student level, shared random queue across selected groups,
  least-used variants, manual pins always preserved; occupied/dup labels
- setup page: single form + one «Сохранить всё», batch level/variant for
  selected students (checkboxes)

Grades, defense, materials:
- publication gate + comment lists; defense CSV import (2/3 cols, quotes)
- additional task after defense ("начать заново"); enroll/unenroll students
  from group page; temporary-password lock (no navigation until changed) and
  persistent "Смена пароля"; forced change once
- chapter page /learn/{c}; header: LMS home, Войти, user -> dashboard,
  compact theme toggle; responsive mobile header
- markdown: single newlines are soft breaks; highlight.js with light/dark themes
- lab/content imports ZIP-only (lab.yaml+README+variants/assets,
  chapters tree+assets); duplicate lab numbers rejected; variant ordering
  and date defaults honored

Fixes:
- 500 on student create (@MapsId set before persist); broken dialogs/JS refs in group page
2026-09-15 00:09:28 +03:00