Add weekly new products email and related features
Introduces a weekly summary email for newly added products, including a new email template and Celery periodic task. Adds 'include_in_week_summary_email' to Product and 'newsletter' to CustomUser. Provides an admin endpoint to manually trigger the weekly email, updates Celery Beat schedule, and adds email templates for verification and password reset.
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
<style>
|
||||
.summary {
|
||||
background-color: #e3f2fd;
|
||||
padding: 15px;
|
||||
border-radius: 6px;
|
||||
margin-bottom: 20px;
|
||||
text-align: center;
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
.product-item {
|
||||
border-bottom: 1px solid #eee;
|
||||
padding: 15px 0;
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
.product-item:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
.product-name {
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.product-price {
|
||||
font-size: 14px;
|
||||
color: #007bff;
|
||||
font-weight: bold;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.product-description {
|
||||
color: #666;
|
||||
font-size: 13px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.product-date {
|
||||
color: #999;
|
||||
font-size: 12px;
|
||||
}
|
||||
.no-products {
|
||||
text-align: center;
|
||||
color: #666;
|
||||
font-style: italic;
|
||||
padding: 30px;
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h2 style="color: #007bff; margin: 0 0 20px 0;">🆕 Nové produkty v obchodě</h2>
|
||||
<p style="margin: 0 0 20px 0;">Týdenní přehled nově přidaných produktů</p>
|
||||
|
||||
<div class="summary">
|
||||
<h3 style="margin: 0 0 10px 0;">📊 Celkem nových produktů: {{ products_of_week|length }}</h3>
|
||||
<p style="margin: 0;">Přehled produktů přidaných za posledních 7 dní</p>
|
||||
</div>
|
||||
|
||||
{% if products_of_week %}
|
||||
{% for product in products_of_week %}
|
||||
<div class="product-item">
|
||||
<div class="product-name">{{ product.name }}</div>
|
||||
|
||||
{% if product.price %}
|
||||
<div class="product-price">
|
||||
{{ product.price|floatformat:0 }} {{ product.currency|default:"Kč" }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if product.short_description %}
|
||||
<div class="product-description">
|
||||
{{ product.short_description|truncatewords:20 }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="product-date">
|
||||
Přidáno: {{ product.created_at|date:"d.m.Y H:i" }}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<div class="no-products">
|
||||
<h3 style="margin: 0 0 15px 0;">🤷♂️ Žádné nové produkty</h3>
|
||||
<p style="margin: 0;">Za posledních 7 dní nebyly přidány žádné nové produkty, které by měly být zahrnuty do týdenního přehledu.</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
Reference in New Issue
Block a user