From b9c5152714101f4c67e62d3cd1d3c44b60063741 Mon Sep 17 00:00:00 2001 From: Jim Fenton <fenton@bluepopcorn.net> Date: Sat, 28 Mar 2020 19:07:40 +0000 Subject: [PATCH] Provide more consistent links to people pages. Fixes #2918. Commit ready for merge. - Legacy-Id: 17557 --- ietf/group/templatetags/group_filters.py | 19 +++++++++++++++++++ .../doc/search/search_result_row.html | 5 +++-- ietf/templates/group/active_wgs.html | 9 ++++----- ietf/templates/group/group_about.html | 5 ++--- ietf/templates/person_link.html | 8 ++++++++ 5 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 ietf/templates/person_link.html 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 %} <tr {% spaceless %} {% if color_row_positions %} @@ -120,9 +121,9 @@ {% if ad_name == None or ad_name != doc.ad.plain_name %} <td class="area-director"> {% if doc.ad %} - <a title="Area Director" href="mailto:{{ doc.ad.email_address|urlencode }}">{{ doc.ad }}</a><br> + {% person_link doc.ad title="Area Director" %}<br> {% endif %} - {% if doc.shepherd %}<a title="Shepherd" href="mailto:{{doc.shepherd}}"><small class="text-muted">{{doc.shepherd.person.name}}</small></a>{% endif %} + {% if doc.shepherd %}{% person_link doc.shepherd title="Shepherd" size="small" %}{% endif %} </td> {% 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 %} <link rel="stylesheet" href="{% static "jquery.tablesorter/css/theme.bootstrap.min.css" %}"> @@ -70,10 +70,9 @@ <td>{{ group.name }}</td> <td> {% for chair in group.chairs %} - <a href="{% url 'ietf.person.views.profile' email_or_name=chair.person.name %}">{{ chair.person.plain_name }}</a> - <a href="mailto:{{ chair.email.address }}"><span class="fa fa-envelope-o tiny"></span></a>{% if not forloop.last %} , {% endif %} - {% endfor %} - {% if group.ad_out_of_area %}(Assigned AD: <a href="mailto:{{ group.ad_role.email.address }}">{{ group.ad_role.person.plain_name }}</a>){% endif %} + {% person_link chair %}{% if not forloop.last %} , {% endif %} + {% endfor %} + {% if group.ad_out_of_area %}(Assigned AD: {% person_link group.ad_role %}){% endif %} </td> </tr> {% 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 %} - <span class="fa fa-envelope-o"></span> - <a href="mailto:{{ r.email.address }}">{{ r.person.plain_name }}</a> + {% person_link r %} <br> {% endfor %} </td> 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 %} + +<a {% if title != "" %}title="{{ title }}"{% endif %} href="{% url 'ietf.person.views.profile' email_or_name=name %}"> +{% if title == "Shepherd" %}<small class="text-muted">{% endif %}{{ plain_name }} +{% if title == "Shepherd" %}</small>{% endif %}</a> +<a href="mailto:{{ email|urlencode }}"><span class="fa fa-envelope-o tiny"></span></a>