Actually add the message app

- Legacy-Id: 3857
This commit is contained in:
Ole Laursen 2012-01-24 17:42:19 +00:00
parent 89314a0760
commit 2df0811f3b
3 changed files with 62 additions and 0 deletions

0
ietf/message/__init__.py Normal file
View file

21
ietf/message/admin.py Normal file
View file

@ -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)

41
ietf/message/models.py Normal file
View file

@ -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']