Skip to content

Commit e11a911

Browse files
committed
Include from in the list of messages when completing a review and
searching for the review email, redo layout somewhat to accommodate this and improve the presentation of the message date. - Legacy-Id: 12163
1 parent 4450ff1 commit e11a911

5 files changed

Lines changed: 32 additions & 4 deletions

File tree

ietf/doc/tests_review.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ def make_test_mbox_tarball(self, review_req):
397397

398398
# plain text
399399
msg = email.mime.text.MIMEText("Hello,\n\nI have reviewed the document and did not find any problems.\n\nJohn Doe")
400-
msg["From"] = "johndoe@example.com"
400+
msg["From"] = "John Doe <johndoe@example.com>"
401401
msg["To"] = review_req.team.list_email
402402
msg["Subject"] = "Review of {}-01".format(review_req.doc.name)
403403
msg["Message-ID"] = email.utils.make_msgid()
@@ -408,7 +408,7 @@ def make_test_mbox_tarball(self, review_req):
408408

409409
# plain text + HTML
410410
msg = email.mime.multipart.MIMEMultipart('alternative')
411-
msg["From"] = "johndoe2@example.com"
411+
msg["From"] = "John Doe II <johndoe2@example.com>"
412412
msg["To"] = review_req.team.list_email
413413
msg["Subject"] = "Review of {}".format(review_req.doc.name)
414414
msg["Message-ID"] = email.utils.make_msgid()
@@ -453,14 +453,20 @@ def test_search_mail_archive(self):
453453
messages = json.loads(r.content)["messages"]
454454
self.assertEqual(len(messages), 2)
455455

456+
today = datetime.date.today()
457+
456458
self.assertEqual(messages[0]["url"], "https://www.example.com/testmessage")
457459
self.assertTrue("John Doe" in messages[0]["content"])
458460
self.assertEqual(messages[0]["subject"], "Review of {}-01".format(review_req.doc.name))
461+
self.assertEqual(messages[0]["splitfrom"], ["John Doe", "johndoe@example.com"])
462+
self.assertEqual(messages[0]["utcdate"][0], today.isoformat())
459463

460464
self.assertEqual(messages[1]["url"], "https://www.example.com/testmessage2")
461465
self.assertTrue("Looks OK" in messages[1]["content"])
462466
self.assertTrue("<html>" not in messages[1]["content"])
463467
self.assertEqual(messages[1]["subject"], "Review of {}".format(review_req.doc.name))
468+
self.assertEqual(messages[1]["splitfrom"], ["John Doe II", "johndoe2@example.com"])
469+
self.assertEqual(messages[1]["utcdate"][0], "")
464470
finally:
465471
ietf.review.mailarch.construct_query_urls = real_fn
466472

ietf/review/mailarch.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,21 @@ def retrieve_messages_from_mbox(mbox_fileobj):
6666
charset = part.get_content_charset() or "utf-8"
6767
content += part.get_payload(decode=True).decode(charset, "ignore")
6868

69+
# parse a couple of things for the front end
70+
utcdate = None
71+
d = email.utils.parsedate_tz(msg["Date"])
72+
if d:
73+
utcdate = datetime.datetime.fromtimestamp(email.utils.mktime_tz(d))
74+
6975
res.append({
7076
"from": msg["From"],
77+
"splitfrom": email.utils.parseaddr(msg["From"]),
7178
"subject": msg["Subject"],
7279
"content": content.replace("\r\n", "\n").replace("\r", "\n").strip("\n"),
7380
"message_id": email.utils.unquote(msg["Message-ID"]),
7481
"url": email.utils.unquote(msg["Archived-At"]),
7582
"date": msg["Date"],
83+
"utcdate": (utcdate.date().isoformat(), utcdate.time().isoformat()) if utcdate else ("", ""),
7684
})
7785

7886
return res

ietf/static/ietf/css/ietf.css

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,16 @@ form.complete-review .mail-archive-search .results .list-group {
487487
margin-bottom: 0.5em;
488488
}
489489

490+
form.complete-review .mail-archive-search-result .from {
491+
width: 9em;
492+
padding-left: 0.4em;
493+
}
494+
495+
form.complete-review .mail-archive-search-result .date {
496+
width: 6em;
497+
padding-left: 0.4em;
498+
}
499+
490500
.closed-review-filter {
491501
margin-bottom: 1em;
492502
}

ietf/static/ietf/js/complete-review.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ $(document).ready(function () {
6868
var msg = data.messages[i];
6969
var row = $(mailArchiveSearchResultTemplate).attr("title", "Click to fill in link and content from this message");
7070
row.find(".subject").text(msg.subject);
71-
row.find(".date").text(msg.date);
71+
row.find(".date").text(msg.utcdate[0]);
72+
row.find(".from").text(msg.splitfrom[0]);
7273
row.data("url", msg.url);
7374
row.data("content", msg.content);
7475
results.append(row);

ietf/templates/doc/review/complete_review.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,15 @@ <h1>Complete review<br><small>{{ review_req.doc.name }}</small></h1>
6161
{% endif %}
6262
</div>
6363

64+
{% spaceless %}
6465
<div class="template" style="display:none">
6566
<button type="button" class="mail-archive-search-result list-group-item">
66-
<span class="date badge"></span>
67+
<small class="date pull-right"></small>
68+
<small class="from pull-right"></small>
6769
<span class="subject"></span>
6870
</button>
6971
</div>
72+
{% endspaceless %}
7073

7174
</form>
7275

0 commit comments

Comments
 (0)