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;">Order Cancelled</h3>
|
|
|
|
<p>Dear {{ order.first_name }} {{ order.last_name }},</p>
|
|
|
|
<p>Your order has been cancelled.</p>
|
|
|
|
<h4 style="color:#333; margin-top:20px; margin-bottom:10px;">Order Information</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;">Total Amount:</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;">Cancellation Date:</td>
|
|
<td style="padding:8px;">{{ order.updated_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>
|
|
|
|
{% if order.payment.status == 'paid' %}
|
|
<h4 style="color:#333; margin-top:20px; margin-bottom:10px;">Refund Information</h4>
|
|
<p>Since your order was already paid, you will receive a refund of {{ order.total_price }} {{ order.get_currency }}. The refund will be processed within 3-5 business days.</p>
|
|
{% endif %}
|
|
|
|
<p style="margin-top:20px; color:#666;">
|
|
If you have any questions, please contact our support team.
|
|
</p>
|