diff --git a/ietf/group/templatetags/group_filters.py b/ietf/group/templatetags/group_filters.py
index d016b8378..af0322988 100644
--- a/ietf/group/templatetags/group_filters.py
+++ b/ietf/group/templatetags/group_filters.py
@@ -25,3 +25,22 @@ def active_nomcoms(user):
state__slug='active').distinct().select_related("type"))
return groups
+
+@register.inclusion_tag('person_link.html')
+def person_link(linkee, **kwargs):
+ title = ""
+ if 'title' in kwargs:
+ title = kwargs['title']
+ if title == "Area Director":
+ name = linkee.name
+ plain_name = name
+ email = linkee.email_address
+ elif title == "Shepherd":
+ name = linkee.person.name
+ plain_name = name
+ email = linkee
+ else:
+ name = linkee.person.name
+ plain_name = linkee.person.plain_name
+ email = linkee.email.address
+ return {'name': name, 'plain_name': plain_name, 'email': email, 'title': title}
diff --git a/ietf/templates/doc/search/search_result_row.html b/ietf/templates/doc/search/search_result_row.html
index 9d7a61e60..073063426 100644
--- a/ietf/templates/doc/search/search_result_row.html
+++ b/ietf/templates/doc/search/search_result_row.html
@@ -2,6 +2,7 @@
{% load widget_tweaks %}
{% load ietf_filters %}
{% load ballot_icon %}
+{% load group_filters %}
{% if doc.ad %}
- {{ doc.ad }}
+ {% person_link doc.ad title="Area Director" %}
{% endif %}
- {% if doc.shepherd %}{{doc.shepherd.person.name}}{% endif %}
+ {% if doc.shepherd %}{% person_link doc.shepherd title="Shepherd" size="small" %}{% endif %}
{% endif %}
diff --git a/ietf/templates/group/active_wgs.html b/ietf/templates/group/active_wgs.html
index 83f6e74e6..526856f84 100644
--- a/ietf/templates/group/active_wgs.html
+++ b/ietf/templates/group/active_wgs.html
@@ -1,6 +1,6 @@
{% extends "base.html" %}
{# Copyright The IETF Trust 2015, All Rights Reserved #}
-{% load origin staticfiles %}
+{% load origin staticfiles group_filters %}
{% block pagehead %}
@@ -70,10 +70,9 @@
{{ group.name }} |
{% for chair in group.chairs %}
- {{ chair.person.plain_name }}
- {% if not forloop.last %} , {% endif %}
- {% endfor %}
- {% if group.ad_out_of_area %}(Assigned AD: {{ group.ad_role.person.plain_name }}){% endif %}
+ {% person_link chair %}{% if not forloop.last %} , {% endif %}
+ {% endfor %}
+ {% if group.ad_out_of_area %}(Assigned AD: {% person_link group.ad_role %}){% endif %}
|
{% endfor %}
diff --git a/ietf/templates/group/group_about.html b/ietf/templates/group/group_about.html
index a71051892..d55fc6b1a 100644
--- a/ietf/templates/group/group_about.html
+++ b/ietf/templates/group/group_about.html
@@ -3,7 +3,7 @@
{% load origin %}
{% load ietf_filters %}
{% load markup_tags %}
-{% load textfilters %}
+{% load textfilters group_filters %}
{% block group_content %}
{% origin %}
@@ -158,8 +158,7 @@
{% for r in roles %}
-
- {{ r.person.plain_name }}
+ {% person_link r %}
{% endfor %}
diff --git a/ietf/templates/person_link.html b/ietf/templates/person_link.html
new file mode 100644
index 000000000..a1e8ed642
--- /dev/null
+++ b/ietf/templates/person_link.html
@@ -0,0 +1,8 @@
+{# Copyright The IETF Trust 2020, All Rights Reserved #}
+
+{% load origin staticfiles %}
+
+
+{% if title == "Shepherd" %}{% endif %}{{ plain_name }}
+{% if title == "Shepherd" %}{% endif %}
+