Use the Role email associated with a reviewer as the From when emailing a review. Fixes #2201. Commit ready for merge.

- Legacy-Id: 12930
This commit is contained in:
Robert Sparks 2017-02-28 18:40:09 +00:00
parent 11497e5f1f
commit 8577a5e84a
3 changed files with 8 additions and 2 deletions

View file

@ -567,6 +567,7 @@ class ReviewTests(TestCase):
self.assertEqual(len(outbox), 1)
self.assertTrue(review_req.team.list_email in outbox[0]["To"])
self.assertTrue(review_req.reviewer.role_set.filter(group=review_req.team,name='reviewer').first().email.address in outbox[0]["From"])
self.assertTrue("This is a review" in outbox[0].get_payload(decode=True).decode("utf-8"))
self.assertTrue(settings.MAILING_LIST_ARCHIVE_URL in review_req.review.external_url)

View file

@ -559,7 +559,12 @@ def complete_review(request, name, request_id):
if need_to_email_review:
# email the review
subject = "{} of {}-{}".format("Partial review" if review_req.state_id == "part-completed" else "Review", review_req.doc.name, review_req.reviewed_rev)
msg = send_mail(request, to, request.user.person.formatted_email(), subject,
role = request.user.person.role_set.filter(group=review_req.team,name='reviewer').first()
if role and role.email.active:
frm = role.formatted_email()
else:
frm = request.user.person.formatted_email()
msg = send_mail(request, to, frm, subject,
"review/completed_review.txt", {
"review_req": review_req,
"content": encoded_content.decode("utf-8"),

View file

@ -112,7 +112,7 @@ class PersonInfo(models.Model):
return ""
def formatted_ascii_email(self):
e = self.email_set.filter(primary=True).first()
if not e:
if not e or not e.active:
e = self.email_set.order_by("-active", "-time").first()
if e:
return e.formatted_ascii_email()