From aebb690bd07460a9f61db36e46d79d502e7fc247 Mon Sep 17 00:00:00 2001 From: Sawyer Bergeron Date: Fri, 15 Dec 2017 14:35:40 -0500 Subject: Implement Notification Framework with Initial Email Support JIRA: None Notification/notifier objects are now created with title, content, sender, associated resource, and recipient and there is now support for emails at the very least to be sent as notifications. Change-Id: I456cf0e901d9a1e2a1e7d187dcc03d28fca003fb Signed-off-by: Sawyer Bergeron --- dashboard/src/notifier/models.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 dashboard/src/notifier/models.py (limited to 'dashboard/src/notifier/models.py') diff --git a/dashboard/src/notifier/models.py b/dashboard/src/notifier/models.py new file mode 100644 index 0000000..9ebc6fc --- /dev/null +++ b/dashboard/src/notifier/models.py @@ -0,0 +1,38 @@ +############################################################################## +# Copyright (c) 2016 Max Breitenfeldt and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +from django.db import models +from jira import JIRA, JIRAError +from dashboard.models import Resource +from booking.models import Booking +from django.contrib.auth.models import User +from account.models import UserProfile +from django.contrib import messages +from django.db.models.signals import pre_save +from fernet_fields import EncryptedTextField + +class Notifier(models.Model): + id = models.AutoField(primary_key=True) + title = models.CharField(max_length=240) + content = EncryptedTextField() + user = models.ForeignKey(UserProfile, on_delete=models.CASCADE, null=True, blank=True) + sender = models.CharField(max_length=240, default='unknown') + message_type = models.CharField(max_length=240, default='email', choices=( + ('email','Email'), + ('webnotification', 'Web Notification'))) + msg_sent = '' + + import notifier.dispatchers + + def __str__(self): + return self.title + + def getEmail(self): + return self.user.email_addr + -- cgit 1.2.3-korg