Add order status email notifications and templates
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.
This commit is contained in:
49
backend/commerce/templates/email/order_completed.html
Normal file
49
backend/commerce/templates/email/order_completed.html
Normal file
@@ -0,0 +1,49 @@
|
||||
<h3 style="color:#5cb85c; font-size:18px; margin-top:0;">✓ Order Completed</h3>
|
||||
|
||||
<p>Dear {{ order.first_name }} {{ order.last_name }},</p>
|
||||
|
||||
<p>Great news! Your order has been completed and delivered. Thank you for your purchase!</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;">Completed:</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>
|
||||
|
||||
<p style="margin-top:20px; padding:15px; background-color:#f0f8f0; border-left:4px solid #5cb85c;">
|
||||
<strong>We hope you enjoyed your purchase!</strong> If you have any feedback or need to return an item, please let us know.
|
||||
</p>
|
||||
|
||||
<p style="margin-top:20px; color:#666;">
|
||||
Thank you for shopping with us!
|
||||
</p>
|
||||
Reference in New Issue
Block a user