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,
        }
    )

