summaryrefslogtreecommitdiffstats
path: root/pharos-dashboard/notification/tasks.py
blob: ab3bddc79cffb19e21647c5242f771047681624e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from celery import shared_task
from datetime import timedelta

from django.conf import settings
from django.utils import timezone

from notification.models import BookingNotification
from notification_framework.notification import Notification


@shared_task
def send_booking_notifications():
    messaging = Notification(dashboard_url=settings.RABBITMQ_URL)

    now = timezone.now()
    notifications = BookingNotification.objects.filter(submitted=False,
                                                       submit_time__gt=now,
                                                       submit_time__lt=now + timedelta(minutes=5))
    for notification in notifications:
        messaging.send(notification.type, notification.booking.resource.name,
                       notification.get_content())
        notification.submitted = True
        notification.save()