Commit Graph

18 Commits

Author SHA1 Message Date
feb75219a7 feat: v4.2 - garant v editoru+PDF, footnote index v bloků, stránka s poznámkami
Some checks failed
Build & Push Docker / build (push) Has been cancelled
2026-02-20 17:43:19 +01:00
6c4ca5e9be feat: v4.1 - Czech diacritics in PDF (Liberation fonts), hour/min duration fields, day select in modal
Some checks failed
Build & Push Docker / build (push) Has been cancelled
2026-02-20 17:39:38 +01:00
f0e7c3b093 feat: Czech day name format 'Pondělí (20.2)' in canvas + PDF; wider date column
Some checks failed
Build & Push Docker / build (push) Has been cancelled
2026-02-20 17:34:14 +01:00
47add509ca feat: v4.0 - multi-day horizontal canvas, duration input, overnight blocks, PDF horizontal layout
Some checks failed
Build & Push Docker / build (push) Has been cancelled
2026-02-20 17:31:41 +01:00
e3a5330cc2 fix: PDF generator - always one page, canvas API, improved layout
Some checks failed
Build & Push Docker / build (push) Has been cancelled
2026-02-20 17:09:12 +01:00
7c74af96fb cleanup: remove Excel test files, update COMPLETION.md for v3.0
Some checks failed
Build & Push Docker / build (push) Has been cancelled
2026-02-20 17:06:39 +01:00
25fd578543 feat: v3.0 - canvas editor, JSON-only, no Excel, new UI
Some checks failed
Build & Push Docker / build (push) Has been cancelled
- Remove all Excel code (import, export, template, pandas, openpyxl)
- New canvas-based schedule editor with drag & drop (interact.js)
- Modern 3-panel UI: sidebar, canvas, documentation tab
- New data model: Block with id/date/start/end, ProgramType with id/name/color
- Clean API: GET /api/health, POST /api/validate, GET /api/sample, POST /api/generate-pdf
- Rewritten PDF generator using ScenarioDocument directly (no DataFrame)
- Professional PDF output: dark header, colored blocks, merged cells, legend, footer
- Sample JSON: "Zimní výjezd oddílu" with 11 blocks, 3 program types
- 30 tests passing (API, core models, PDF generation)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:02:51 +01:00
e2bdadd0ce feat: refactor to FastAPI architecture v2.0
Some checks failed
Build & Push Docker / build (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:28:21 +01:00
Martin Sukany
87f1fc2c7a Refactor: Excel import jde přímo do inline editoru s výběrem barev
Some checks failed
Build & Push Docker / build (push) Has been cancelled
Problém:
- V kroku 2 uživatel nastavoval barvy, ale ty se neaplikovaly v kroku 3
- Zbytečný mezikrok kde uživatel musel klikat 'Generovat' nebo 'Upravit'

Řešení:
- Step 2 nyní přímo zobrazuje inline editor s načtenými daty z Excelu
- Uživatel může upravit řádky, typy a nastavit barvy přímo v jednom kroku
- Odstraněn step 2b (duplikát) a step 3 (již nepotřebný)
- Zjednodušen workflow: Import Excel -> Inline editor -> Generovat

Změny:
- cgi-bin/scenar.py: Step 2 nyní renderuje inline editor přímo
- Odstraněny nepotřebné kroky 2b a 3
- Barvy se nyní nastavují přímo v inline editoru u typů programu

Testy: 18/18 unit testů prošlo 
2025-11-13 16:24:33 +01:00
Martin Sukany
2f4c930739 Fix: step 2 -> step 2b/3 workflow
Some checks failed
Build & Push Docker / build (push) Has been cancelled
Problem:
- Když uživatel importoval Excel a klikl 'Upravit v inline editoru' nebo 'Generovat',
  dostal chybu 'Neplatný krok nebo chybějící data'
- step 2b vyžadoval file_item, ale formulář posílal file_content_base64

Řešení:
- Upravena podmínka pro step=2b aby akceptovala i file_content_base64
- Přidány 2 nové testy:
  * test_excel_import_to_step2_workflow - testuje import -> step 2 -> step 3 (generate)
  * test_excel_import_to_inline_editor_workflow - testuje import -> step 2 -> step 2b (inline editor)

Testy: 18/18 unit testů prošlo 
2025-11-13 16:15:23 +01:00
Martin Sukany
b7b56fe15f Refactor: Oddělení business logiky + inline editor
Some checks failed
Build & Push Docker / build (push) Has been cancelled
- Nový modul scenar/core.py (491 řádků čisté logiky)
- Refactored cgi-bin/scenar.py (450 řádků CGI wrapper)
- Inline editor s JavaScript row managementem
- Custom exceptions (ScenarsError, ValidationError, TemplateError)
- Kompletní test coverage (10 testů, všechny )
- Fixed Dockerfile (COPY scenar/, requirements.txt)
- Fixed requirements.txt (openpyxl==3.1.5)
- Fixed pytest.ini (pythonpath = .)
- Nové testy: test_http_inline.py, test_inline_builder.py
- HTTP testy označeny jako @pytest.mark.integration
- Build script: scripts/build_image.sh
- Dokumentace: COMPLETION.md
2025-11-13 16:06:32 +01:00
Martin Sukany
9a7ffdeb2c copilot test 2025-11-13 11:37:28 +01:00
Martin Sukany
7ef8e20564 action changed
Some checks failed
Build & Push Docker / build (push) Failing after 2m5s
2025-11-11 10:48:04 +01:00
Martin Sukany
c299f5150f updated
Some checks failed
Build & Push Docker / build (push) Has been cancelled
2025-11-11 10:40:44 +01:00
Martin Sukany
ad5b13dac0 update
Some checks failed
Build & Push Docker / build (push) Has been cancelled
2025-11-11 10:39:00 +01:00
Martin Sukany
f476a1009c Dockerized 2025-11-10 18:05:37 +01:00
Martin Sukany
604e159dd3 Dockerfile 2025-11-10 17:37:21 +01:00
Charlie Root
c22ee0af3a init 2025-11-10 17:05:43 +01:00