From 47d6bbbea3f9da814bf36c2cc520aaa891d8d415 Mon Sep 17 00:00:00 2001
From: Henrik Levkowetz <henrik@levkowetz.com>
Date: Thu, 8 Sep 2016 15:04:53 +0000
Subject: [PATCH] Renamed the SubmissionEmail event class to
 SubmissionEmailEvent, and added an admin class for it.  - Legacy-Id: 11942

---
 ietf/submit/admin.py                           |  5 ++++-
 ietf/submit/mail.py                            |  6 +++---
 ietf/submit/migrations/0011_submissionemail.py |  2 +-
 ietf/submit/models.py                          |  2 +-
 ietf/submit/resources.py                       | 10 +++++-----
 ietf/submit/utils.py                           |  6 +++---
 ietf/submit/views.py                           | 16 ++++++++--------
 ietf/templates/submit/submission_status.html   |  8 ++++----
 8 files changed, 29 insertions(+), 26 deletions(-)

diff --git a/ietf/submit/admin.py b/ietf/submit/admin.py
index 9d03928c8..0b20553ab 100644
--- a/ietf/submit/admin.py
+++ b/ietf/submit/admin.py
@@ -2,7 +2,7 @@ from django.core.urlresolvers import reverse as urlreverse
 from django.contrib import admin
 
 
-from ietf.submit.models import Preapproval, Submission, SubmissionEvent, SubmissionCheck
+from ietf.submit.models import Preapproval, Submission, SubmissionEvent, SubmissionCheck, SubmissionEmailEvent
 
 class SubmissionAdmin(admin.ModelAdmin):
     list_display = ['id', 'rev', 'draft_link', 'status_link', 'submission_date',]
@@ -40,3 +40,6 @@ class PreapprovalAdmin(admin.ModelAdmin):
     pass
 admin.site.register(Preapproval, PreapprovalAdmin)
 
+class SubmissionEmailEventAdmin(admin.ModelAdmin):
+    list_display = ['id', 'submission', 'time', 'by', 'message', 'desc', ]
+admin.site.register(SubmissionEmailEvent, SubmissionEmailEventAdmin)    
diff --git a/ietf/submit/mail.py b/ietf/submit/mail.py
index c2d96732c..2520ffe19 100644
--- a/ietf/submit/mail.py
+++ b/ietf/submit/mail.py
@@ -19,7 +19,7 @@ from ietf.person.models import Person
 from ietf.message.models import Message, MessageAttachment
 from ietf.utils.accesstoken import generate_access_token
 from ietf.mailtrigger.utils import gather_address_lists, get_base_submission_message_address
-from ietf.submit.models import SubmissionEmail, Submission
+from ietf.submit.models import SubmissionEmailEvent, Submission
 
 def send_submission_confirmation(request, submission, chair_notice=False):
     subject = 'Confirm submission of I-D %s' % submission.name
@@ -190,7 +190,7 @@ def process_response_email(msg):
             submission.name,
             submission.rev)
     
-    submission_email_event = SubmissionEmail.objects.create(
+    submission_email_event = SubmissionEmailEvent.objects.create(
             submission = submission,
             desc = desc,
             msgtype = 'msgin',
@@ -258,7 +258,7 @@ def add_submission_email(request, remote_ip, name, rev, submission_pk, message,
         rs = "Sent"
 
     desc = "{} message - manual post - {}-{}".format(rs, name, rev)
-    submission_email_event = SubmissionEmail.objects.create(
+    submission_email_event = SubmissionEmailEvent.objects.create(
             desc = desc,
             submission = submission,
             msgtype = msgtype,
diff --git a/ietf/submit/migrations/0011_submissionemail.py b/ietf/submit/migrations/0011_submissionemail.py
index cc221b1bb..cc2dcd4bb 100644
--- a/ietf/submit/migrations/0011_submissionemail.py
+++ b/ietf/submit/migrations/0011_submissionemail.py
@@ -13,7 +13,7 @@ class Migration(migrations.Migration):
 
     operations = [
         migrations.CreateModel(
-            name='SubmissionEmail',
+            name='SubmissionEmailEvent',
             fields=[
                 ('submissionevent_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='submit.SubmissionEvent')),
                 ('msgtype', models.CharField(max_length=25)),
diff --git a/ietf/submit/models.py b/ietf/submit/models.py
index d46504950..bb3a7fbf5 100644
--- a/ietf/submit/models.py
+++ b/ietf/submit/models.py
@@ -108,7 +108,7 @@ class Preapproval(models.Model):
     def __unicode__(self):
         return self.name
 
-class SubmissionEmail(SubmissionEvent):
+class SubmissionEmailEvent(SubmissionEvent):
     message     = models.ForeignKey(Message, null=True, blank=True,related_name='manualevents')
     msgtype     = models.CharField(max_length=25)
     in_reply_to = models.ForeignKey(Message, null=True, blank=True,related_name='irtomanual')
diff --git a/ietf/submit/resources.py b/ietf/submit/resources.py
index 343435c3e..59c6344ef 100644
--- a/ietf/submit/resources.py
+++ b/ietf/submit/resources.py
@@ -7,7 +7,7 @@ from tastypie.cache import SimpleCache
 from ietf import api
 
 from ietf.submit.models import Preapproval, \
-    SubmissionCheck, Submission, SubmissionEmail, SubmissionEvent
+    SubmissionCheck, Submission, SubmissionEmailEvent, SubmissionEvent
 
 
 from ietf.person.resources import PersonResource
@@ -105,17 +105,17 @@ api.submit.register(SubmissionCheckResource())
 
 from ietf.person.resources import PersonResource
 from ietf.message.resources import MessageResource
-class SubmissionEmailResource(ModelResource):
+class SubmissionEmailEventResource(ModelResource):
     submission       = ToOneField(SubmissionResource, 'submission')
     by               = ToOneField(PersonResource, 'by', null=True)
     submissionevent_ptr = ToOneField(SubmissionEventResource, 'submissionevent_ptr')
     message          = ToOneField(MessageResource, 'message', null=True)
     in_reply_to      = ToOneField(MessageResource, 'in_reply_to', null=True)
     class Meta:
-        queryset = SubmissionEmail.objects.all()
+        queryset = SubmissionEmailEvent.objects.all()
         serializer = api.Serializer()
         cache = SimpleCache()
-        #resource_name = 'submissionemail'
+        #resource_name = 'submissionemailevent'
         filtering = { 
             "id": ALL,
             "time": ALL,
@@ -127,5 +127,5 @@ class SubmissionEmailResource(ModelResource):
             "message": ALL_WITH_RELATIONS,
             "in_reply_to": ALL_WITH_RELATIONS,
         }
-api.submit.register(SubmissionEmailResource())
+api.submit.register(SubmissionEmailEventResource())
 
diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py
index 8e2f8b3b7..6bba7e2bc 100644
--- a/ietf/submit/utils.py
+++ b/ietf/submit/utils.py
@@ -153,9 +153,9 @@ def post_rev00_submission_events(draft, submission, submitter):
                     desc = "Request for posting approval emailed %s" % (subevent.desc[pos + 19:])
         elif desc.startswith("Received message") or desc.startswith("Sent message"):
             e = AddedMessageEvent(type="added_message", doc=draft)
-            e.message = subevent.submissionemail.message
-            e.msgtype = subevent.submissionemail.msgtype
-            e.in_reply_to = subevent.submissionemail.in_reply_to
+            e.message = subevent.submissionemailevent.message
+            e.msgtype = subevent.submissionemailevent.msgtype
+            e.in_reply_to = subevent.submissionemailevent.in_reply_to
         else:
             continue
 
diff --git a/ietf/submit/views.py b/ietf/submit/views.py
index cb7fb8a7e..330e325b1 100644
--- a/ietf/submit/views.py
+++ b/ietf/submit/views.py
@@ -27,7 +27,7 @@ from ietf.submit.mail import send_full_url, send_approval_request_to_group, \
     send_submission_confirmation, send_manual_post_request, \
     add_submission_email, get_reply_to
 from ietf.submit.models import Submission, SubmissionCheck, Preapproval, DraftSubmissionStateName, \
-    SubmissionEmail
+    SubmissionEmailEvent
 from ietf.submit.utils import approvable_submissions_for_user, preapprovals_for_user, recently_approved_by_user
 from ietf.submit.utils import validate_submission, create_submission_event
 from ietf.submit.utils import docevent_from_submission
@@ -657,9 +657,9 @@ def add_manualpost_email(request, submission_id=None, access_token=None):
         
                 if (draft != None):
                     e = AddedMessageEvent(type="added_message", doc=draft)
-                    e.message = submission_email_event.submissionemail.message
-                    e.msgtype = submission_email_event.submissionemail.msgtype
-                    e.in_reply_to = submission_email_event.submissionemail.in_reply_to
+                    e.message = submission_email_event.submissionemailevent.message
+                    e.msgtype = submission_email_event.submissionemailevent.msgtype
+                    e.in_reply_to = submission_email_event.submissionemailevent.in_reply_to
                     e.by = request.user.person
                     e.desc = submission_email_event.desc
                     e.time = submission_email_event.time
@@ -727,7 +727,7 @@ def send_submission_email(request, submission_id, message_id=None):
             desc = "Sent message {} - manual post - {}-{}".format(rp,
                                                                   submission.name, 
                                                                   submission.rev)
-            SubmissionEmail.objects.create(
+            SubmissionEmailEvent.objects.create(
                     submission = submission,
                     desc = desc,
                     msgtype = 'msgout',
@@ -754,7 +754,7 @@ def send_submission_email(request, submission_id, message_id=None):
             subject = 'Regarding {}'.format(submission.name)
         else:
             try:
-                submitEmail = SubmissionEmail.objects.get(id=message_id)
+                submitEmail = SubmissionEmailEvent.objects.get(id=message_id)
                 msg = submitEmail.message
                 
                 if msg:
@@ -792,7 +792,7 @@ def send_submission_email(request, submission_id, message_id=None):
 def show_submission_email_message(request, submission_id, message_id, access_token=None):
     submission = get_submission_or_404(submission_id, access_token)
 
-    submitEmail = get_object_or_404(SubmissionEmail, pk=message_id)    
+    submitEmail = get_object_or_404(SubmissionEmailEvent, pk=message_id)    
     attachments = submitEmail.message.messageattachment_set.all()
     
     return render(request, 'submit/submission_email.html',
@@ -803,7 +803,7 @@ def show_submission_email_message(request, submission_id, message_id, access_tok
 def show_submission_email_attachment(request, submission_id, message_id, filename, access_token=None):
     get_submission_or_404(submission_id, access_token)
 
-    message = get_object_or_404(SubmissionEmail, pk=message_id)
+    message = get_object_or_404(SubmissionEmailEvent, pk=message_id)
 
     attach = get_object_or_404(MessageAttachment, 
                                message=message.message, 
diff --git a/ietf/templates/submit/submission_status.html b/ietf/templates/submit/submission_status.html
index 7c08dd8bf..e100b7549 100644
--- a/ietf/templates/submit/submission_status.html
+++ b/ietf/templates/submit/submission_status.html
@@ -349,15 +349,15 @@
           <td class="text-nowrap">{{ e.time|date:"Y-m-d" }}</td>
           <td>{{ e.by|default:"" }}</td>
           {%  if e.desc|startswith:"Received message" or e.desc|startswith:"Sent message" %}
-            {%  with m=e.submissionemail.message %}
+            {%  with m=e.submissionemailevent.message %}
               {% if user.is_authenticated %}
                 <td> 
                   {% if  e.desc|startswith:"Received message" and user|has_role:"Secretariat" %}
-                    <a id="reply{{ submission.pk }}" class="btn btn-default btn-xs" href="{% url "ietf.submit.views.send_submission_email" submission_id=submission.pk message_id=e.submissionemail.pk %}" title="Reply"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> Reply</a>
+                    <a id="reply{{ submission.pk }}" class="btn btn-default btn-xs" href="{% url "ietf.submit.views.send_submission_email" submission_id=submission.pk message_id=e.submissionemailevent.pk %}" title="Reply"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> Reply</a>
                   {% endif %}
-                  Email: <a id="aw{{ submission.pk }}-{{ m.pk }}" href="{% url "ietf.submit.views.show_submission_email_message" submission_id=submission.pk message_id=e.submissionemail.pk access_token=submission.access_token %}">{{ e.desc }}</a></td>
+                  Email: <a id="aw{{ submission.pk }}-{{ m.pk }}" href="{% url "ietf.submit.views.show_submission_email_message" submission_id=submission.pk message_id=e.submissionemailevent.pk access_token=submission.access_token %}">{{ e.desc }}</a></td>
               {% else %}
-                <td>Email: <a id="aw{{ submission.pk }}-{{ m.pk }}" href="{% url "ietf.submit.views.show_submission_email_message" submission_id=submission.pk message_id=e.submissionemail.pk %}">{{ e.desc }}</a></td>
+                <td>Email: <a id="aw{{ submission.pk }}-{{ m.pk }}" href="{% url "ietf.submit.views.show_submission_email_message" submission_id=submission.pk message_id=e.submissionemailevent.pk %}">{{ e.desc }}</a></td>
               {% endif %}
             {% endwith %}
           {%  else %}