diff options
author | Sawyer Bergeron <sbergeron@iol.unh.edu> | 2017-12-15 14:35:40 -0500 |
---|---|---|
committer | Sawyer Bergeron <sbergeron@iol.unh.edu> | 2018-01-02 22:29:22 +0000 |
commit | eb7cb88c62feae0b412f4ecc9a5e62c3f7bdc138 (patch) | |
tree | 18dcaf0f8e2fe6204a506ae51607c46219f4dcb6 /src/notifier/models.py | |
parent | ee1caa30008635717943bfdfecc692cde052a461 (diff) |
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 <sbergeron@iol.unh.edu>
Diffstat (limited to 'src/notifier/models.py')
-rw-r--r-- | src/notifier/models.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/notifier/models.py b/src/notifier/models.py new file mode 100644 index 0000000..9ebc6fc --- /dev/null +++ b/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 + |