30 lines
1 KiB
Python
30 lines
1 KiB
Python
|
from django.db import models
|
||
|
|
||
|
from authentication.models import ExtendedUser
|
||
|
|
||
|
|
||
|
class MessageTemplate(models.Model):
|
||
|
name = models.CharField(max_length=255)
|
||
|
message = models.TextField()
|
||
|
created = models.DateTimeField(auto_now_add=True)
|
||
|
marked_confidential = models.BooleanField(default=False)
|
||
|
marked_required = models.BooleanField(default=False) # may not be deleted
|
||
|
|
||
|
def __str__(self):
|
||
|
return self.name
|
||
|
|
||
|
|
||
|
class UserNotificationChannel(models.Model):
|
||
|
user = models.ForeignKey(ExtendedUser, models.CASCADE)
|
||
|
channel_type = models.CharField(choices=[('telegram', 'telegram'), ('email', 'email')], max_length=255)
|
||
|
channel_target = models.CharField(max_length=255)
|
||
|
event_filter = models.CharField(max_length=255)
|
||
|
active = models.BooleanField(default=True)
|
||
|
created = models.DateTimeField(auto_now_add=True)
|
||
|
|
||
|
def validate_constraints(self, exclude=None): # TODO: email -> emailaddress, telegram -> chatid
|
||
|
return True
|
||
|
|
||
|
def __str__(self):
|
||
|
return self.user.username + '(' + self.channel_type + ')'
|