from django.utils import timezone
from django.db.models import Q
from crm.models import Interaction
from contacts.models import ContactPerson

def notifications_view(request):
    today = timezone.localdate()

    # Нагадування про День народження (для всіх користувачів)
    contact_birthday_today = ContactPerson.objects.filter(birth_date=today)

    # Ініціалізуємо interactions_today як порожній QuerySet
    interactions_today = Interaction.objects.none()

    if request.user.is_authenticated:
        # Нагадування про наступну взаємодію для поточного користувача
        interactions_today = Interaction.objects.filter(
            next_interaction_date__date=today
        ).filter(
            Q(user=request.user) | Q(assigned_to=request.user)
        )

    notification_count = contact_birthday_today.count() + interactions_today.count()

    context = {
        'contact_birthday_today': contact_birthday_today,
        'interactions_today': interactions_today,
        'notification_count': notification_count,
    }

    return context