diff --git a/ietf/message/__init__.py b/ietf/message/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/ietf/message/admin.py b/ietf/message/admin.py new file mode 100644 index 000000000..517bc82f6 --- /dev/null +++ b/ietf/message/admin.py @@ -0,0 +1,21 @@ +from django.contrib import admin + +from ietf.message.models import * + +class MessageAdmin(admin.ModelAdmin): + list_display = ["subject", "by", "time", "groups"] + search_fields = ["subject", "body"] + raw_id_fields = ["by"] + + def groups(self, instance): + return ", ".join(g.acronym for g in instance.related_groups.all()) + +admin.site.register(Message, MessageAdmin) + +class SendQueueAdmin(admin.ModelAdmin): + list_display = ["time", "by", "message", "send_at", "sent_at"] + list_filter = ["time", "send_at", "sent_at"] + search_fields = ["message__body"] + raw_id_fields = ["by"] + +admin.site.register(SendQueue, SendQueueAdmin) diff --git a/ietf/message/models.py b/ietf/message/models.py new file mode 100644 index 000000000..de5a137b2 --- /dev/null +++ b/ietf/message/models.py @@ -0,0 +1,41 @@ +from django.db import models + +import datetime + +from ietf.person.models import Email, Person +from ietf.group.models import Group + +class Message(models.Model): + time = models.DateTimeField(default=datetime.datetime.now) + by = models.ForeignKey(Person) + + subject = models.CharField(max_length=255) + frm = models.CharField(max_length=255) + to = models.CharField(max_length=1024) + cc = models.CharField(max_length=1024, blank=True) + bcc = models.CharField(max_length=255, blank=True) + reply_to = models.CharField(max_length=255, blank=True) + body = models.TextField() + content_type = models.CharField(max_length=255, blank=True) + + related_groups = models.ManyToManyField(Group, blank=True) + + class Meta: + ordering = ['time'] + + def __unicode__(self): + return "'%s' %s -> %s" % (self.subject, self.frm, self.to) + +class SendQueue(models.Model): + time = models.DateTimeField(default=datetime.datetime.now) + by = models.ForeignKey(Person) + + message = models.ForeignKey(Message) + + send_at = models.DateTimeField(blank=True, null=True) + sent_at = models.DateTimeField(blank=True, null=True) + + note = models.TextField(blank=True) + + class Meta: + ordering = ['time']