a3546b4c01
- Move all credentials from hardcoded to .env with python-dotenv (add .env.example template and .gitignore) - Add CSRF token generation and validation on all state-changing requests - Replace random.choices with secrets.choice for all secure code generation - Add session cookie security headers (HttpOnly, Secure, SameSite) - Add presenter management: assign/remove presenters to breakout sessions, presenter QR scanning - Add email communications system: templates per event, custom email sending, sent email tracking - Add staff/organizer profile pages with staff code display - New DB tables: event_email_templates, sent_emails, user_communications - New DB columns: staff.reminder_count/reminder_dates, breakout_session_organizers.presenter_code - Expand English translation strings across all new features Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
46 lines
1.8 KiB
HTML
46 lines
1.8 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}{{ 'payment'|t }} - {{ event.name }} - NetEvents{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="payment-page">
|
|
<a href="{{ url_for('register_event', code=event.code) }}" class="back-link"><i data-lucide="arrow-left"></i> {{ 'back_to_registration'|t }}</a>
|
|
|
|
<div class="payment-box card">
|
|
<h1>{{ 'complete_payment'|t }}</h1>
|
|
|
|
<div class="order-summary">
|
|
<h3>{{ 'order_summary'|t }}</h3>
|
|
<div class="order-item">
|
|
<span>{{ 'event_registration'|t }}</span>
|
|
<span>{{ event.name }}</span>
|
|
</div>
|
|
<div class="order-item">
|
|
<span>{{ 'attendee_type'|t }}:</span>
|
|
<span>{{ pending.type_name }}</span>
|
|
</div>
|
|
<div class="order-item">
|
|
<span>{{ 'attendee'|t }}:</span>
|
|
<span><span class="first-name">{{ pending.first_name }}</span> <span class="last-name">{{ pending.last_name }}</span></span>
|
|
</div>
|
|
<div class="order-item">
|
|
<span>{{ 'email'|t }}:</span>
|
|
<span>{{ pending.email }}</span>
|
|
</div>
|
|
<div class="order-total">
|
|
<span>{{ 'total'|t }}:</span>
|
|
<span class="price">{{ pending.price|format_currency }} {{ get_currency_symbol() }}</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="payment-notice">
|
|
<p><i data-lucide="info"></i> {{ 'payment_to_be_integrated'|t }}</p>
|
|
</div>
|
|
|
|
<form method="POST" class="payment-form">
|
|
<button type="submit" class="btn btn-success btn-lg btn-block"><i data-lucide="check-circle"></i> {{ 'complete_registration'|t }}</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|