From 2dd1f0da294bd4069ae60df4fbca8b9e3f93dc46 Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Wed, 10 Jan 2018 22:42:18 +0000 Subject: [PATCH] Improved the resilience of the formatted_email nomcom filter. Fixes #1764. Commit ready for merge. - Legacy-Id: 14506 --- ietf/nomcom/templatetags/nomcom_tags.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ietf/nomcom/templatetags/nomcom_tags.py b/ietf/nomcom/templatetags/nomcom_tags.py index 47e694b93..4f5428dd2 100644 --- a/ietf/nomcom/templatetags/nomcom_tags.py +++ b/ietf/nomcom/templatetags/nomcom_tags.py @@ -1,5 +1,6 @@ import os import tempfile +import re from django import template from django.conf import settings @@ -38,11 +39,16 @@ def lookup(container,key): @register.filter def formatted_email(address): person = None - if address: - persons = Person.objects.filter(email__address__in=[address]) + addrmatch = re.search('<([^>]+)>',address) + if addrmatch: + addr = addrmatch.group(1) + else: + addr = address + if addr: + persons = Person.objects.filter(email__address__in=[addr]) person = persons and persons[0] or None if person and person.name: - return formataddr((person.plain_name(), address)) + return formataddr((person.plain_name(), addr)) else: return address