fix: use string budget in email service instead of float

The budget field is stored as a string (e.g., '$25-50'), not a number.
Updated EmailService.send_registration_confirmation() to accept budget
as a string and display it directly in the email.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-22 17:56:59 -07:00
parent 37d50e328d
commit 5a9f0d552a
3 changed files with 6 additions and 6 deletions

View File

@@ -136,7 +136,7 @@ def register(slug: str):
magic_link_url=magic_link_url,
exchange_name=exchange.name,
exchange_description=exchange.description,
budget_amount=float(exchange.budget.replace("$", "")),
budget=exchange.budget,
gift_exchange_date=exchange.exchange_date.strftime("%Y-%m-%d"),
)
except Exception as e:

View File

@@ -125,7 +125,7 @@ class EmailService:
magic_link_url: str,
exchange_name: str,
exchange_description: str | None,
budget_amount: float,
budget: str,
gift_exchange_date: str,
) -> Any:
"""Send registration confirmation email with magic link.
@@ -136,7 +136,7 @@ class EmailService:
magic_link_url: Full URL with magic token
exchange_name: Name of the exchange
exchange_description: Description of the exchange (optional)
budget_amount: Budget amount
budget: Budget description (e.g., "$25-50")
gift_exchange_date: Date of gift exchange
Returns:
@@ -159,7 +159,7 @@ class EmailService:
{description_html}
<h3>Exchange Details</h3>
<ul>
<li><strong>Budget:</strong> ${budget_amount:.0f}</li>
<li><strong>Budget:</strong> {budget}</li>
<li><strong>Gift Exchange Date:</strong> {gift_exchange_date}</li>
</ul>
<h3>Access Your Dashboard</h3>