Merged in [12930] from rjsparks@nostrum.com:

Use the Role email associated with a reviewer as the From when emailing a review. Fixes #2201.
 - Legacy-Id: 12936
Note: SVN reference [12930] has been migrated to Git commit 8577a5e84a
This commit is contained in:
Henrik Levkowetz 2017-02-28 21:50:12 +00:00
commit 695bf37bc6
3 changed files with 9 additions and 3 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()
@ -120,7 +120,7 @@ class PersonInfo(models.Model):
return ""
def formatted_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_email()