← DokArh Portal
implementacija

ARHIVA-1.5: QR Token Generator UI + Email notifikacija post-OCR

Kreator: CC + Ivan Datum: 2026-05-18 Status: DONE
WeisE3™ ID: 6d09a1df4b7ee249407a68d4ad6f288b8c3644c9c3dfce0ca8f6dfd4dcf1b71d
idc0973
tipimplementacija
sustavfenix-v3
serverMAR (212.227.181.201) + EU git (217.160.71.124)
git_commits[ "ea50f8a", "8d90975" ]
statusDONE
sto_je_napravljeno{ "1_token_row": { "fajl": "templates/arhiva/partials/token_row.html", "opis": "QR slika 140x140 iz /pub/arhiva/scan/{token}/qr.png, WhatsApp share (wa.me), Download QR PNG, Deaktiviraj dugme s HTMX outerHTML swap", "commit": "ea50f8a" }, "2_scan_tokens": { "fajl": "templates/arhiva/scan_tokens.html", "opis": "Poboljšan layout: uputa u 3 koraka, count tokena u headeru, htmx-indicator, hx-on::after-request reset forme", "commit": "ea50f8a" }, "3_list_html": {
flow{ "qr_generator": [ "Računovođa otvori /hr/arhiva/scan-tokeni/", "Unese oznaku (npr. 'Gašić Ivan'), odabere trajanje i max uploada", "HTMX POST → novi token_row se ubacuje na vrh liste (afterbegin)", "U redu: QR slika 140x140 + copy link + WhatsApp share + Download QR + Deaktiviraj" ], "email_post_ocr": [ "Korisnik uploada dokument na /pub/arhiva/", "Celery pokreće temp_arhiva_ocr_task → OCR + AI strukturiranje + Trojna pohrana", "ai_status='done' → notify_ocr_d
url_rute{ "token_generator": "/hr/arhiva/scan-tokeni/ (login required)", "qr_png": "/pub/arhiva/scan/{token}/qr.png (javno)", "mobile_scan": "/pub/arhiva/scan/{token}/ (javno)", "dashboard": "/pub/arhiva/beta-my-docs/", "email_from": "noreply@sati.ink (SMTP: smtp.gmail.com)" }
arhiva_readiness_nakon{ "dns": "DONE (uvijek bio MAR 212.227.181.201)", "beta_endpoint": "DONE (/beta/ → 200)", "qr_token_generator": "DONE (ea50f8a)", "email_post_ocr": "DONE (8d90975)", "ukupno_backend": "95%", "ukupno_frontend": "75%", "campaign_ready": "65% — preostaje: demo sadržaj + collectstatic + Folija install" }
zakon_compliance{ "zakon_28": "cleanup_expired_beta_entries postoji za BetaUploadEntry (expires_at + 7d)", "zakon_31": "SemanticStripper pozivan u run_beta_ocr (omega_canonical u semantic_payload)", "zakon_2": "ovaj .dok.json je chain entry za ovu implementaciju" }
napomene[ "BetaUploadEntry (anonymous, bez email-a) ne dobiva email notifikaciju — nema uploader.email", "TempArhivaEntry (registrirani PWA korisnik s emailom) dobiva email post-OCR", "notify_ocr_done je non-blocking: try/except oko cijelog slanja, warn log kod greške", "MAR nema git repo — deploy je direktan scp + python patch, zatim sync na EU za commit" ]
timestamp2026-05-18T14:55:00