* remove email verification related code * remove email verification related code * remove sendgrid callback * remove sendgrid related code * remove sendgrid related code * rename sendgrid app to email * remove email from built-in channels * remove email from built-in channels * remove email from built-in channels * add email backend: https://github.com/grafana/oncall/pull/50 * add email templater * add email templater * convert md to html * add email settings to live settings * use task to send email, handle some exceptions to create logs * remove ERROR_NOTIFICATION_MAIL_DELIVERY_FAILED usage * add email limit logic * fix tests * add docs * remove old email templates * remove old email templates * add template_fields to messaging backend * add messaging backends templates to public api * add comment for deprecated fields * fix test * fix tests * disable email by default * don't retry on SMTPException and TimeoutError * add tests * bring email back to public api docs * return ERROR_NOTIFICATION_MAIL_LIMIT_EXCEEDED * make template_fields tuple * build_subject_and_title -> build_subject_and_message * add one more comment about template deprecation * use 8 as backend id * add comment about gaierror and BadHeaderError * add comment on importing in notify_user_async * edit oss docs
20 lines
824 B
Python
20 lines
824 B
Python
import logging
|
|
import uuid
|
|
|
|
from django.db import models
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class EmailMessage(models.Model):
|
|
message_uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
|
|
|
exceeded_limit = models.BooleanField(null=True, default=None)
|
|
represents_alert = models.ForeignKey("alerts.Alert", on_delete=models.SET_NULL, null=True, default=None)
|
|
represents_alert_group = models.ForeignKey("alerts.AlertGroup", on_delete=models.SET_NULL, null=True, default=None)
|
|
notification_policy = models.ForeignKey(
|
|
"base.UserNotificationPolicy", on_delete=models.SET_NULL, null=True, default=None
|
|
)
|
|
|
|
receiver = models.ForeignKey("user_management.User", on_delete=models.PROTECT, null=True, default=None)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|