Introduces email notifications for order status changes (created, cancelled, completed, paid, missing payment, refund events) and adds corresponding HTML email templates. Refactors notification tasks to use only the order object and updates model logic to trigger notifications on relevant status changes.
51 lines
2.2 KiB
HTML
51 lines
2.2 KiB
HTML
<h3 style="color:#d9534f; font-size:18px; margin-top:0;">⚠ Payment Reminder</h3>
|
|
|
|
<p>Dear {{ order.first_name }} {{ order.last_name }},</p>
|
|
|
|
<p>We haven't received payment for your order yet. Your order is being held and may be cancelled if payment is not completed soon.</p>
|
|
|
|
<h4 style="color:#333; margin-top:20px; margin-bottom:10px;">Order Details</h4>
|
|
<table width="100%" cellpadding="8" cellspacing="0" style="border-collapse:collapse;">
|
|
<tr style="border-bottom:1px solid #ddd;">
|
|
<td style="padding:8px; font-weight:bold;">Order ID:</td>
|
|
<td style="padding:8px;">{{ order.id }}</td>
|
|
</tr>
|
|
<tr style="border-bottom:1px solid #ddd;">
|
|
<td style="padding:8px; font-weight:bold;">Amount Due:</td>
|
|
<td style="padding:8px;">{{ order.total_price }} {{ order.get_currency }}</td>
|
|
</tr>
|
|
<tr style="border-bottom:1px solid #ddd;">
|
|
<td style="padding:8px; font-weight:bold;">Created:</td>
|
|
<td style="padding:8px;">{{ order.created_at|date:"d.m.Y H:i" }}</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h4 style="color:#333; margin-top:20px; margin-bottom:10px;">Order Items</h4>
|
|
<table width="100%" cellpadding="10" cellspacing="0" border="1" style="border-collapse:collapse; border-color:#ddd;">
|
|
<thead>
|
|
<tr style="background-color:#f9f9f9;">
|
|
<th style="text-align:left; padding:10px; border:1px solid #ddd;">Product</th>
|
|
<th style="text-align:center; padding:10px; border:1px solid #ddd;">Qty</th>
|
|
<th style="text-align:right; padding:10px; border:1px solid #ddd;">Price</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for item in order.items.all %}
|
|
<tr>
|
|
<td style="padding:10px; border:1px solid #ddd;">{{ item.product.name }}</td>
|
|
<td style="text-align:center; padding:10px; border:1px solid #ddd;">{{ item.quantity }}</td>
|
|
<td style="text-align:right; padding:10px; border:1px solid #ddd;">{{ item.get_total_price }} {{ order.get_currency }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
|
|
<p style="margin-top:20px; padding:15px; background-color:#f9f9f9; border-left:4px solid #d9534f;">
|
|
<strong>Please complete your payment as soon as possible to avoid order cancellation.</strong>
|
|
If you have questions or need assistance, contact us right away.
|
|
</p>
|
|
|
|
<p style="margin-top:20px; color:#666;">
|
|
Thank you for your business!
|
|
</p>
|