Removed per-product currency in favor of a global site currency managed via SiteConfiguration. Updated models, views, templates, and Stripe integration to use the global currency. Added migration, management command for migration, and API endpoint for currency info. Improved permissions and filtering for orders, reviews, and carts. Expanded supported currencies in configuration.
53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
from venv import create
|
|
from account.tasks import send_email_with_context
|
|
from configuration.models import SiteConfiguration
|
|
|
|
from celery import shared_task
|
|
from celery.schedules import crontab
|
|
|
|
from commerce.models import Product
|
|
import datetime
|
|
|
|
@shared_task
|
|
def send_contact_me_email_task(client_email, message_content):
|
|
context = {
|
|
"client_email": client_email,
|
|
"message_content": message_content
|
|
}
|
|
send_email_with_context(
|
|
recipients=SiteConfiguration.get_solo().contact_email,
|
|
subject="Poptávka z kontaktního formuláře!!!",
|
|
template_path="email/contact_me.html",
|
|
context=context,
|
|
)
|
|
|
|
|
|
@shared_task
|
|
def send_newly_added_items_to_store_email_task_last_week():
|
|
last_week_date = datetime.datetime.now() - datetime.timedelta(days=7)
|
|
|
|
"""
|
|
__lte -> Less than or equal
|
|
__gte -> Greater than or equal
|
|
__lt -> Less than
|
|
__gt -> Greater than
|
|
"""
|
|
|
|
products_of_week = Product.objects.filter(
|
|
include_in_week_summary_email=True,
|
|
created_at__gte=last_week_date
|
|
)
|
|
|
|
config = SiteConfiguration.get_solo()
|
|
|
|
send_email_with_context(
|
|
recipients=config.contact_email,
|
|
subject="Nový produkt přidán do obchodu",
|
|
template_path="email/advertisement/commerce/new_items_added_this_week.html",
|
|
context={
|
|
"products_of_week": products_of_week,
|
|
"site_currency": config.currency,
|
|
}
|
|
)
|
|
|