|
5 | 5 | from django.conf import settings |
6 | 6 | from django.contrib.sites.models import Site |
7 | 7 | from django.core.urlresolvers import reverse as urlreverse |
| 8 | +from django.template.loader import render_to_string |
8 | 9 |
|
9 | 10 | from ietf.idtracker.models import (InternetDraft, PersonOrOrgInfo, IETFWG, |
10 | 11 | IDAuthor, EmailAddress, IESGLogin, BallotInfo) |
11 | 12 | from ietf.submit.models import TempIdAuthors |
12 | | -from ietf.utils.mail import send_mail |
| 13 | +from ietf.utils.mail import send_mail, send_mail_message |
13 | 14 | from ietf.utils import unaccent |
14 | 15 |
|
15 | 16 | from ietf.doc.models import * |
16 | 17 | from ietf.person.models import Person, Alias, Email |
17 | 18 | from ietf.doc.utils import active_ballot_positions |
| 19 | +from ietf.message.models import Message |
18 | 20 |
|
19 | 21 | # Some useful states |
20 | 22 | UPLOADED = 1 |
@@ -186,21 +188,38 @@ def send_announcements(submission, draft, state_change_msg): |
186 | 188 |
|
187 | 189 |
|
188 | 190 | def announce_to_lists(request, submission): |
189 | | - subject = 'I-D Action: %s-%s.txt' % (submission.filename, submission.revision) |
190 | | - from_email = settings.IDSUBMIT_ANNOUNCE_FROM_EMAIL |
191 | | - to_email = [settings.IDSUBMIT_ANNOUNCE_LIST_EMAIL] |
192 | 191 | authors = [] |
193 | 192 | for i in submission.tempidauthors_set.order_by('author_order'): |
194 | 193 | if not i.author_order: |
195 | 194 | continue |
196 | 195 | authors.append(i.get_full_name()) |
197 | | - if submission.group_acronym: |
198 | | - cc = [submission.group_acronym.email_address] |
| 196 | + |
| 197 | + if settings.USE_DB_REDESIGN_PROXY_CLASSES: |
| 198 | + m = Message() |
| 199 | + m.by = request.user.get_profile() if request.user.is_authenticated() else Person.objects.get(name="(System)") |
| 200 | + m.subject = 'I-D Action: %s-%s.txt' % (submission.filename, submission.revision) |
| 201 | + m.frm = settings.IDSUBMIT_ANNOUNCE_FROM_EMAIL |
| 202 | + m.to = settings.IDSUBMIT_ANNOUNCE_LIST_EMAIL |
| 203 | + if submission.group_acronym: |
| 204 | + m.cc = submission.group_acronym.email_address |
| 205 | + m.body = render_to_string('submit/announce_to_lists.txt', dict(submission=submission, |
| 206 | + authors=authors)) |
| 207 | + m.save() |
| 208 | + m.related_docs.add(Document.objects.get(name=submission.filename)) |
| 209 | + |
| 210 | + send_mail_message(request, m) |
199 | 211 | else: |
200 | | - cc = None |
201 | | - send_mail(request, to_email, from_email, subject, 'submit/announce_to_lists.txt', |
202 | | - {'submission': submission, |
203 | | - 'authors': authors}, cc=cc) |
| 212 | + subject = 'I-D Action: %s-%s.txt' % (submission.filename, submission.revision) |
| 213 | + from_email = settings.IDSUBMIT_ANNOUNCE_FROM_EMAIL |
| 214 | + to_email = [settings.IDSUBMIT_ANNOUNCE_LIST_EMAIL] |
| 215 | + if submission.group_acronym: |
| 216 | + cc = [submission.group_acronym.email_address] |
| 217 | + else: |
| 218 | + cc = None |
| 219 | + |
| 220 | + send_mail(request, to_email, from_email, subject, 'submit/announce_to_lists.txt', |
| 221 | + {'submission': submission, |
| 222 | + 'authors': authors}, cc=cc, save_message=True) |
204 | 223 |
|
205 | 224 |
|
206 | 225 | def announce_new_version(request, submission, draft, state_change_msg): |
|
0 commit comments