From 1375c1e7f9e21de9ea0a1c756d27caa652a7c2f2 Mon Sep 17 00:00:00 2001 From: maxbr Date: Mon, 19 Sep 2016 10:13:26 +0200 Subject: Send notifications for booking start and end JIRA: PHAROS-265 Change-Id: I53a37ac31dda70935752afc6da3315e6dfcbc90f Signed-off-by: maxbr --- tools/pharos-dashboard/notification/tasks.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 tools/pharos-dashboard/notification/tasks.py (limited to 'tools/pharos-dashboard/notification/tasks.py') diff --git a/tools/pharos-dashboard/notification/tasks.py b/tools/pharos-dashboard/notification/tasks.py new file mode 100644 index 00000000..ab3bddc7 --- /dev/null +++ b/tools/pharos-dashboard/notification/tasks.py @@ -0,0 +1,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() -- cgit 1.2.3-korg