Phase 2+5: lab submissions and student lab flow

- progress: submissions table+V4; SubmissionService (deadline-gated submit,
  unlimited resubmits, per-student history, zip download); files on disk
  data/submissions/{student}/{lab}/{seq}/
- student API: POST submit (multipart), GET me submissions, download; admin
  GET lab submissions + admin download (zip pack)
- progress enrich(): labId in MeAssignment; web DTO aligned
- web: /student dashboard (avg/best/worst cards), /student/labs cards,
  /student/labs/{id}: condition md, variant block, submit form, history;
  'Лабораторные' link in nav for students
- admin: submissions column on lab assignment table + download link
- fixed long-standing template bug: broken @{} expression (missing }) in
  admin/lab and student/lab
This commit is contained in:
2026-09-12 00:20:46 +03:00
parent eb55f47f47
commit e1da254599
21 changed files with 628 additions and 49 deletions

View File

@@ -10,6 +10,10 @@ server:
spring:
application:
name: web
servlet:
multipart:
max-file-size: 30MB
max-request-size: 120MB
thymeleaf:
cache: false