Commit Graph

6 Commits

Author SHA1 Message Date
Paperclip CTO
4709794301 Add local docker frontend runtime API env configuration
All checks were successful
CI / lint (push) Successful in 7s
CI / test (push) Successful in 23s
CI / build-container (push) Successful in 12s
2026-05-19 13:26:03 +02:00
Paperclip CTO
6cfeeff0f9 feat(deploy): add compose profile with dedicated frontend container for reverse-proxy setups
All checks were successful
CI / lint (push) Successful in 6s
CI / test (push) Successful in 21s
CI / build-container (push) Successful in 6s
2026-05-19 09:12:04 +02:00
Paperclip CTO
4a46c14857 feat(frontend): add theming, branding sync, and improved frontend error UX
All checks were successful
CI / lint (push) Successful in 10s
CI / test (push) Successful in 23s
CI / build-container (push) Successful in 8s
2026-05-19 09:09:04 +02:00
Paperclip CTO
01661bf5a8 fix: restore CI by fixing lint, test collection, and notification syntax
Some checks failed
CI / lint (push) Successful in 6s
CI / test (push) Failing after 7s
CI / build-container (push) Has been skipped
2026-05-18 14:53:29 +02:00
Paperclip CTO
7225775e12 feat(TRA-370): attendance UI, API endpoints, and migration
Backend:
- Add migration 0002 for Meeting, MeetingParticipant, EmployeeAttendance models
- Add EmployeeAttendanceSerializer with meeting_title helper field
- Add MeetingDetailView (GET /meetings/{id}/ with participants embedded)
- Add EmployeeAttendanceListView (GET /training/attendance/) with
  role-based access: own records always visible; other users require
  progress:view_all / progress:view_team / users:manage capability
- Register meeting-detail and attendance-list routes in urls.py

Frontend:
- attendance.html + attendance.js: JWT login flow, attendance history
  table with status badges, token refresh via sessionStorage only
  (no localStorage for access tokens)
- meetings.html + meetings.js: meeting list, create-meeting form,
  per-meeting participant management, inline attendance recording
  with select + save per row; UUID input validated before submit
- attendance.css: shared stylesheet for both pages

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-18 12:12:05 +02:00
Paperclip CTO
295ac1c31f feat(TRA-335): license limits, per-customer branding, frontend, Gitea CI, and deployment README
- Added OrganizationProfile model with license_user_limit choices (20/50/100/1000), company_name, brand_logo_url
- Added migration 0003_organization_profile
- Admin-only REST endpoint GET/PATCH /api/v1/accounts/organizations/{org_id}/profile/
- OrganizationProfileSerializer, OrganizationProfileAdmin, factory, and integration tests
- Static Nginx-hostable frontend under frontend/public with configurable API_BASE_URL via config.js
- frontend/nginx.conf reference server config
- .gitea/workflows/ci.yml: ruff lint, pytest with Postgres/Redis services, docker build
- README.md: English deployment guide covering env vars, Docker Compose, migration, org profile API, frontend deploy

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-08 07:52:08 +02:00