diff --git a/ietf/announcements/admin.py b/ietf/announcements/admin.py index 3d19dd576..fa6c10c2e 100644 --- a/ietf/announcements/admin.py +++ b/ietf/announcements/admin.py @@ -1,6 +1,5 @@ #coding: utf-8 from django.contrib import admin -from django.conf import settings from ietf.announcements.models import * class AnnouncedFromAdmin(admin.ModelAdmin): @@ -21,23 +20,3 @@ admin.site.register(Announcement, AnnouncementAdmin) class ScheduledAnnouncementAdmin(admin.ModelAdmin): pass admin.site.register(ScheduledAnnouncement, ScheduledAnnouncementAdmin) - - -if settings.USE_DB_REDESIGN_PROXY_CLASSES: - class MessageAdmin(admin.ModelAdmin): - list_display = ["time", "by", "subject", "groups"] - search_fields = ["body"] - raw_id_fields = ["by"] - - def groups(self, instance): - return ", ".join(g.acronym for g in 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/announcements/models.py b/ietf/announcements/models.py index 460695018..6ee8e1bfb 100644 --- a/ietf/announcements/models.py +++ b/ietf/announcements/models.py @@ -86,45 +86,3 @@ class ScheduledAnnouncement(models.Model): return "Scheduled Announcement from %s to %s on %s %s" % (self.from_val, self.to_val, self.to_be_sent_date, self.to_be_sent_time) class Meta: db_table = 'scheduled_announcements' - - -if settings.USE_DB_REDESIGN_PROXY_CLASSES or hasattr(settings, "IMPORTING_FROM_OLD_SCHEMA"): - 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'] diff --git a/ietf/announcements/sitemaps.py b/ietf/announcements/sitemaps.py index ac1d7d8de..2765f0fa0 100644 --- a/ietf/announcements/sitemaps.py +++ b/ietf/announcements/sitemaps.py @@ -3,12 +3,12 @@ from django.conf import settings from django.contrib.sitemaps import Sitemap from ietf.announcements.models import Announcement +from ietf.message.models import Message class NOMCOMAnnouncementsMap(Sitemap): changefreq = "never" def items(self): if settings.USE_DB_REDESIGN_PROXY_CLASSES: - from ietf.announcements.models import Message return Message.objects.filter(related_groups__acronym__startswith="nomcom").exclude(related_groups__acronym="nomcom").order_by('-time') return Announcement.objects.all().filter(nomcom=True) def location(self, obj): diff --git a/ietf/announcements/tests.py b/ietf/announcements/tests.py index fbc23b921..92bf9daa9 100644 --- a/ietf/announcements/tests.py +++ b/ietf/announcements/tests.py @@ -9,6 +9,9 @@ from ietf.utils.mail import outbox from ietf.announcements.models import ScheduledAnnouncement +from ietf.message.models import Message, SendQueue +from ietf.person.models import Person + class AnnouncementsUrlTestCase(SimpleUrlTestCase): def testUrls(self): self.doTestUrls(__file__) @@ -67,9 +70,6 @@ class SendScheduledAnnouncementsTestCaseREDESIGN(django.test.TestCase): fixtures = ["names"] def test_send_plain_announcement(self): - from ietf.announcements.models import Message, SendQueue - from ietf.person.models import Person - make_test_data() msg = Message.objects.create( @@ -99,9 +99,6 @@ class SendScheduledAnnouncementsTestCaseREDESIGN(django.test.TestCase): self.assertTrue(SendQueue.objects.get(id=q.id).sent_at) def test_send_mime_announcement(self): - from ietf.announcements.models import Message, SendQueue - from ietf.person.models import Person - make_test_data() msg = Message.objects.create( diff --git a/ietf/announcements/urls.py b/ietf/announcements/urls.py index 8489b5fcc..0f101a17f 100644 --- a/ietf/announcements/urls.py +++ b/ietf/announcements/urls.py @@ -12,5 +12,5 @@ nomcom_dict = { urlpatterns = patterns('', # (r'^nomcom/$', 'django.views.generic.simple.redirect_to', {'url': 'http://www.ietf.org/nomcom/index.html'} ), (r'^nomcom/$', 'ietf.announcements.views.nomcom'), - (r'^nomcom/(?P\d+)/$', 'ietf.announcements.views.message_detail' if settings.USE_DB_REDESIGN_PROXY_CLASSES else 'django.views.generic.list_detail.object_detail', nomcom_dict) + (r'^nomcom/(?P\d+)/$', 'ietf.announcements.views.message_detail') if settings.USE_DB_REDESIGN_PROXY_CLASSES else (r'^nomcom/(?P\d+)/$', 'django.views.generic.list_detail.object_detail', nomcom_dict) ) diff --git a/ietf/announcements/views.py b/ietf/announcements/views.py index 8decfcc4c..d25bc2a3e 100644 --- a/ietf/announcements/views.py +++ b/ietf/announcements/views.py @@ -10,6 +10,8 @@ import re from ietf.idtracker.models import ChairsHistory from ietf.idtracker.models import Role from ietf.announcements.models import Announcement +from ietf.group.models import Group, GroupEvent +from ietf.message.models import Message def nomcom(request): curr_chair = (ChairsHistory.objects. @@ -35,9 +37,6 @@ def nomcom(request): 'regimes' : regimes }) def nomcomREDESIGN(request): - from ietf.group.models import Group, GroupEvent - from ietf.announcements.models import Message - address_re = re.compile("<.*>") nomcoms = list(Group.objects.filter(acronym__startswith="nomcom").exclude(name="nomcom")) @@ -73,10 +72,7 @@ if settings.USE_DB_REDESIGN_PROXY_CLASSES: nomcom = nomcomREDESIGN -def message_detail(request, object_id, queryset): - from ietf.group.models import Group - from ietf.announcements.models import Message - +def message_detail(request, object_id): # restrict to nomcom announcements for the time being nomcoms = Group.objects.filter(acronym__startswith="nomcom").exclude(acronym="nomcom") m = get_object_or_404(Message, id=object_id, diff --git a/ietf/settings.py b/ietf/settings.py index 6a7f5d148..f7cb29682 100644 --- a/ietf/settings.py +++ b/ietf/settings.py @@ -139,6 +139,7 @@ INSTALLED_APPS = ( 'ietf.name', 'ietf.group', 'ietf.doc', + 'ietf.message', 'ietf.announcements', 'ietf.idindex', 'ietf.idtracker', diff --git a/redesign/importing/import-announcements.py b/redesign/importing/import-announcements.py index 8507e0efd..b7f295842 100755 --- a/redesign/importing/import-announcements.py +++ b/redesign/importing/import-announcements.py @@ -15,8 +15,8 @@ management.setup_environ(settings) from ietf.person.models import * from ietf.group.models import * from ietf.name.utils import name +from ietf.message.models import Message, SendQueue from ietf.importing.utils import old_person_to_person -from ietf.announcements.models import Message, SendQueue from ietf.announcements.models import Announcement, PersonOrOrgInfo, AnnouncedTo, AnnouncedFrom, ScheduledAnnouncement from ietf.idtracker.models import IESGLogin