Added on_behalf_of() calls for from addresses needing it throughout the code.

- Legacy-Id: 15992
This commit is contained in:
Henrik Levkowetz 2019-03-04 20:14:19 +00:00
parent ae8c1f2b91
commit 435a0da12d
9 changed files with 22 additions and 19 deletions

View file

@ -9,7 +9,7 @@ from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
from ietf.utils.mail import send_mail, send_mail_text
from ietf.utils.mail import send_mail, send_mail_text, on_behalf_of
from ietf.ipr.utils import iprs_from_docs, related_docs
from ietf.doc.models import WriteupDocEvent, LastCallDocEvent, DocAlias, ConsensusDocEvent
from ietf.doc.utils import needed_ballot_positions
@ -35,7 +35,7 @@ def email_ad_approved_doc(request, doc, text):
to = "iesg@iesg.org"
bcc = "iesg-secretary@ietf.org"
frm = request.user.person.formatted_email()
send_mail(request, to, frm,
send_mail(request, to, on_behalf_of(frm),
"Approved: %s" % doc.filename_with_rev(),
"doc/mail/ad_approval_email.txt",
dict(text=text,
@ -318,7 +318,7 @@ def email_resurrect_requested(request, doc, by):
e = by.role_email("ad")
frm = e.address
send_mail(request, to, e.formatted_email(),
send_mail(request, to, on_behalf_of(e.formatted_email()),
"I-D Resurrection Request",
"doc/mail/resurrect_request_email.txt",
dict(doc=doc,

View file

@ -32,7 +32,7 @@ from ietf.message.utils import infer_message
from ietf.name.models import BallotPositionName
from ietf.person.models import Person
from ietf.utils import log
from ietf.utils.mail import send_mail_text, send_mail_preformatted
from ietf.utils.mail import send_mail_text, send_mail_preformatted, on_behalf_of
from ietf.utils.decorators import require_api_key
BALLOT_CHOICES = (("yes", "Yes"),
@ -285,6 +285,7 @@ def api_set_position(request):
# send position email
addrs, frm, subject, body = build_position_email(ad, doc, pos)
frm = on_behalf_of(frm)
send_mail_text(request, addrs.to, frm, subject, body, cc=addrs.cc)
return HttpResponse("Done", status=200, content_type='text/plain')
@ -362,7 +363,7 @@ def send_ballot_comment(request, name, ballot_id):
if extra_cc:
cc.extend(extra_cc)
send_mail_text(request, addrs.to, frm, subject, body, cc=u", ".join(cc))
send_mail_text(request, addrs.to, on_behalf_of(frm), subject, body, cc=u", ".join(cc))
return HttpResponseRedirect(return_to_url)

View file

@ -42,7 +42,7 @@ from ietf.message.models import Message
from ietf.name.models import IntendedStdLevelName, DocTagName, StreamName, DocUrlTagName
from ietf.person.fields import SearchableEmailField
from ietf.person.models import Person, Email
from ietf.utils.mail import send_mail, send_mail_message
from ietf.utils.mail import send_mail, send_mail_message, on_behalf_of
from ietf.utils.textupload import get_cleaned_text_file_content
from ietf.mailtrigger.utils import gather_address_lists
@ -597,7 +597,7 @@ def to_iesg(request,name):
extra['Cc'] = addrs.as_strings().cc
send_mail(request=request,
to = addrs.to,
frm = by.formatted_email(),
frm = on_behalf_of(by.formatted_email()),
subject = "Publication has been requested for %s-%s" % (doc.name,doc.rev),
template = "doc/submit_to_iesg_email.txt",
context = dict(doc=doc,by=by,url="%s%s"%(settings.IDTRACKER_BASE_URL,doc.get_absolute_url()),),
@ -1219,7 +1219,7 @@ def request_publication(request, name):
consensus_event = doc.latest_event(ConsensusDocEvent, type="changed_consensus")
m = Message()
m.frm = request.user.person.formatted_email()
m.frm = on_behalf_of(request.user.person.formatted_email())
(m.to, m.cc) = gather_address_lists('pubreq_rfced',doc=doc)
m.by = request.user.person

View file

@ -37,7 +37,7 @@ from ietf.review import mailarch
from ietf.utils.fields import DatepickerDateField
from ietf.utils.text import strip_prefix, xslugify
from ietf.utils.textupload import get_cleaned_text_file_content
from ietf.utils.mail import send_mail_message
from ietf.utils.mail import send_mail_message, on_behalf_of
from ietf.mailtrigger.utils import gather_address_lists
from ietf.utils.fields import MultiEmailField
@ -628,7 +628,7 @@ def complete_review(request, name, request_id):
msg = Message.objects.create(
by=request.user.person,
subject=subject,
frm=frm,
frm=on_behalf_of(frm),
to=", ".join(to),
cc=form.cleaned_data["cc"],
body = render_to_string("review/completed_review.txt", {

View file

@ -108,7 +108,7 @@ from ietf.doc.models import LastCallDocEvent
from ietf.name.models import ReviewRequestStateName
from ietf.utils.mail import send_mail_text, parse_preformatted
from ietf.utils.mail import send_mail_text, parse_preformatted, on_behalf_of
from ietf.ietfauth.utils import user_is_person
from ietf.dbtemplate.models import DBTemplate
@ -1599,7 +1599,7 @@ def email_open_review_assignments(request, acronym, group_type=None):
if request.method == "POST" and request.POST.get("action") == "email":
form = EmailOpenAssignmentsForm(request.POST)
if form.is_valid():
send_mail_text(request, form.cleaned_data["to"], form.cleaned_data["frm"], form.cleaned_data["subject"], form.cleaned_data["body"],cc=form.cleaned_data["cc"],extra={"Reply-To":", ".join(form.cleaned_data["reply_to"])})
send_mail_text(request, form.cleaned_data["to"], on_behalf_of(form.cleaned_data["frm"]), form.cleaned_data["subject"], form.cleaned_data["body"],cc=form.cleaned_data["cc"],extra={"Reply-To":", ".join(form.cleaned_data["reply_to"])})
return HttpResponseRedirect(back_url)
else:
(to,cc) = gather_address_lists('review_assignments_summarized',group=group)

View file

@ -64,7 +64,7 @@ from ietf.secr.proceedings.proc_utils import (get_progress_stats, post_process,
create_recording)
from ietf.utils.decorators import require_api_key
from ietf.utils.log import assertion
from ietf.utils.mail import send_mail_message, send_mail_text
from ietf.utils.mail import send_mail_message, send_mail_text, on_behalf_of
from ietf.utils.pipe import pipe
from ietf.utils.pdf import pdf_pages
from ietf.utils.text import xslugify
@ -2307,7 +2307,7 @@ def request_minutes(request, num=None):
if form.is_valid():
send_mail_text(request,
to=form.cleaned_data.get('to'),
frm=request.user.person.email_address(),
frm=on_behalf_of(request.user.person.email_address()),
subject=form.cleaned_data.get('subject'),
txt=form.cleaned_data.get('body'),
cc=form.cleaned_data.get('cc'),

View file

@ -1,6 +1,6 @@
import re, datetime, email
from ietf.utils.mail import send_mail_text, send_mail_mime
from ietf.utils.mail import send_mail_text, send_mail_mime, maybe_on_behalf_of
from ietf.message.models import Message
first_dot_on_line_re = re.compile(r'^\.', re.MULTILINE)
@ -21,6 +21,8 @@ def infer_message(s):
def send_scheduled_message_from_send_queue(send_queue):
message = send_queue.message
message.frm = maybe_on_behalf_of(message.frm)
message.save()
# for some reason, the old Perl code base substituted away . on line starts
body = first_dot_on_line_re.sub("", message.body)

View file

@ -17,7 +17,7 @@ from ietf.ietfauth.utils import has_role, is_authorized_in_doc_stream
from ietf.review.models import (ReviewRequest, ReviewRequestStateName, ReviewTypeName,
ReviewerSettings, UnavailablePeriod, ReviewWish, NextReviewerInTeam,
ReviewTeamSettings, ReviewSecretarySettings)
from ietf.utils.mail import send_mail, get_email_addresses_from_text
from ietf.utils.mail import send_mail, on_behalf_of, get_email_addresses_from_text
from ietf.doc.utils import extract_complete_replaces_ancestor_mapping_for_docs
def active_review_teams():
@ -368,7 +368,7 @@ def email_review_request_change(request, review_req, subject, msg, by, notify_se
url = urlreverse("ietf.doc.views_review.review_request_forced_login", kwargs={ "name": review_req.doc.name, "request_id": review_req.pk })
url = request.build_absolute_uri(url)
send_mail(request, to, request.user.person.formatted_email(), subject, "review/review_request_changed.txt", {
send_mail(request, to, on_behalf_of(request.user.person.formatted_email()), subject, "review/review_request_changed.txt", {
"review_req_url": url,
"review_req": review_req,
"msg": msg,

View file

@ -8,7 +8,7 @@ from ietf.message.models import AnnouncementFrom
from ietf.ietfauth.utils import has_role
from ietf.secr.announcement.forms import AnnounceForm
from ietf.secr.utils.decorators import check_for_cancel
from ietf.utils.mail import send_mail_text
from ietf.utils.mail import send_mail_text, on_behalf_of
# -------------------------------------------------
# Helper Functions
@ -83,7 +83,7 @@ def confirm(request):
extra = {'Reply-To':message.reply_to}
send_mail_text(None,
message.to,
message.frm,
on_behalf_of(message.frm),
message.subject,
message.body,
cc=message.cc,