M7 CRM Članarine: CRUD + dug + uplata + HUB-3 PDF + EPC QR
- /api/crm/clanarine[CRUD] s filterima (godina/klub/clan/status), summary
- /api/crm/clanarine/dug — dužnici (z opcionim days_overdue)
- /api/crm/clanarine/{id}/uplata — registracija parcijalne/cijele uplate
- /api/crm/clanarine/notify-bulk — mock e-mail kampanja (lista primatelja)
- /api/crm/clanarine/{id}/uplatnica.pdf — HUB-3 A4 PDF s ugrađenim EPC QR
- /api/crm/clanarine/{id}/qr.png — samo EPC BCD/002 SCT QR PNG
- /api/crm/clanarine/{id}/payment-info — JSON za UI gumbe + bank deep linkovi
crm/payments.py — HUB-3 PDF generator (ReportLab) + EPC QR (qrcode lib),
poziv-na-broj model HR00 = OIB-godina-id, format_eur HR notation.
This commit is contained in:
@@ -1400,7 +1400,27 @@ try:
|
||||
except Exception as e:
|
||||
print(f'[ERP/PUTNI] router fail: {e}')
|
||||
|
||||
# === Round 3 / CC5 — CRM (M7 Članarine, M8 Liječnički, M9 Obrasci) ===
|
||||
try:
|
||||
from clanarine_router import router as clanarine_router
|
||||
app.include_router(clanarine_router)
|
||||
print('[CRM/M7] clanarine router loaded')
|
||||
except Exception as e:
|
||||
print(f'[CRM/M7] clanarine router fail: {e}')
|
||||
|
||||
try:
|
||||
from lijecnicki_router import router as lijecnicki_router
|
||||
app.include_router(lijecnicki_router)
|
||||
print('[CRM/M8] lijecnicki router loaded')
|
||||
except Exception as e:
|
||||
print(f'[CRM/M8] lijecnicki router fail: {e}')
|
||||
|
||||
try:
|
||||
from obrasci_router import router as obrasci_router
|
||||
app.include_router(obrasci_router)
|
||||
print('[CRM/M9] obrasci router loaded')
|
||||
except Exception as e:
|
||||
print(f'[CRM/M9] obrasci router fail: {e}')
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user