From 2df0811f3b663f5682a67840a5df23da3dd36de7 Mon Sep 17 00:00:00 2001 From: Ole Laursen Date: Tue, 24 Jan 2012 17:42:19 +0000 Subject: [PATCH] Actually add the message app - Legacy-Id: 3857 --- ietf/message/__init__.py | 0 ietf/message/admin.py | 21 ++++++++++++++++++++ ietf/message/models.py | 41 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 ietf/message/__init__.py create mode 100644 ietf/message/admin.py create mode 100644 ietf/message/models.py 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']