Move new message models from announcements to a new message app
- Legacy-Id: 3856
This commit is contained in:
parent
980d4e6444
commit
89314a0760
|
@ -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)
|
||||
|
|
|
@ -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']
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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<object_id>\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<object_id>\d+)/$', 'ietf.announcements.views.message_detail') if settings.USE_DB_REDESIGN_PROXY_CLASSES else (r'^nomcom/(?P<object_id>\d+)/$', 'django.views.generic.list_detail.object_detail', nomcom_dict)
|
||||
)
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -139,6 +139,7 @@ INSTALLED_APPS = (
|
|||
'ietf.name',
|
||||
'ietf.group',
|
||||
'ietf.doc',
|
||||
'ietf.message',
|
||||
'ietf.announcements',
|
||||
'ietf.idindex',
|
||||
'ietf.idtracker',
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue