improve(fees): detailed per-month breakdown in payment reminder
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Instead of "9 mies. × 200 zł", shows line-by-line breakdown: - marzec: 50 zł (składka 200 zł, wpłacono 150 zł) - kwiecień: 200 zł - maj: 200 zł ... Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8d4c4333cf
commit
ce92155836
@ -971,6 +971,17 @@ def admin_fees_reminder_preview():
|
||||
month_range = f"{MONTHS_PL_NAMES[unpaid[0].fee_month]} - {MONTHS_PL_NAMES[unpaid[-1].fee_month]}" if len(unpaid) > 1 else MONTHS_PL_NAMES[unpaid[0].fee_month]
|
||||
monthly_rate = int(unpaid[0].amount)
|
||||
|
||||
# Build detailed breakdown
|
||||
breakdown_lines = []
|
||||
for f in unpaid:
|
||||
owed = float(f.amount) - float(f.amount_paid or 0)
|
||||
month_name = MONTHS_PL_NAMES[f.fee_month]
|
||||
if float(f.amount_paid or 0) > 0:
|
||||
breakdown_lines.append(f'{month_name}: {int(owed)} zł (składka {int(f.amount)} zł, wpłacono {int(f.amount_paid)} zł)')
|
||||
else:
|
||||
breakdown_lines.append(f'{month_name}: {int(owed)} zł')
|
||||
breakdown_html = '<br>'.join(breakdown_lines)
|
||||
|
||||
from database import UserCompany, User
|
||||
manager = db.query(UserCompany).filter(UserCompany.company_id == company_id).first()
|
||||
manager_user_id = manager.user_id if manager else None
|
||||
@ -988,8 +999,8 @@ def admin_fees_reminder_preview():
|
||||
message = (
|
||||
f'<p>Szanowni Państwo,</p>'
|
||||
f'<p>Uprzejmie przypominamy o zaległej składce członkowskiej w Izbie Gospodarczej Norda Biznes.</p>'
|
||||
f'<p><strong>Kwota do zapłaty: {int(total_due)} zł</strong><br>'
|
||||
f'Okres: {month_range} {year} ({len(unpaid)} mies. × {monthly_rate} zł)</p>'
|
||||
f'<p><strong>Kwota do zapłaty: {int(total_due)} zł</strong></p>'
|
||||
f'<p>Rozpiska:<br>{breakdown_html}</p>'
|
||||
f'<p><strong>Dane do przelewu:</strong><br>'
|
||||
f'Odbiorca: Norda Biznes Regionalna Izba Przedsiębiorców<br>'
|
||||
f'Bank: Kaszubski Bank Spółdzielczy w Wejherowie<br>'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user