Skip to content

Commit 7084e6e

Browse files
committed
Merged in [17557] from fenton@bluepopcorn.net:
Provide more consistent links to people pages. Fixes ietf-tools#2918. - Legacy-Id: 17561 Note: SVN reference [17557] has been migrated to Git commit b9c5152
2 parents 3b1cb29 + b9c5152 commit 7084e6e

6 files changed

Lines changed: 46 additions & 14 deletions

File tree

ietf/group/templatetags/group_filters.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from django import template
22

3+
import debug # pyflakes:ignore
4+
35
from ietf.group.models import Group
46

57
register = template.Library()
@@ -25,3 +27,12 @@ def active_nomcoms(user):
2527
state__slug='active').distinct().select_related("type"))
2628

2729
return groups
30+
31+
@register.inclusion_tag('person/person_link.html')
32+
def role_person_link(role, **kwargs):
33+
title = kwargs.get('title', '')
34+
cls = kwargs.get('class', '')
35+
name = role.person.name
36+
plain_name = role.person.plain_name()
37+
email = role.email.address
38+
return {'name': name, 'plain_name': plain_name, 'email': email, 'title': title, 'class': cls}

ietf/person/templatetags/person_filters.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,22 @@ def person_by_name(name):
2222
return None
2323
alias = Alias.objects.filter(name=name).first()
2424
return alias.person if alias else None
25-
25+
26+
@register.inclusion_tag('person/person_link.html')
27+
def person_link(person, **kwargs):
28+
title = kwargs.get('title', '')
29+
cls = kwargs.get('class', '')
30+
name = person.name
31+
plain_name = person.plain_name()
32+
email = person.email_address()
33+
return {'name': name, 'plain_name': plain_name, 'email': email, 'title': title, 'class': cls}
34+
35+
36+
@register.inclusion_tag('person/person_link.html')
37+
def email_person_link(email, **kwargs):
38+
title = kwargs.get('title', '')
39+
cls = kwargs.get('class', '')
40+
name = email.person.name
41+
plain_name = email.person.plain_name()
42+
email = email.address
43+
return {'name': name, 'plain_name': plain_name, 'email': email, 'title': title, 'class': cls}

ietf/templates/doc/search/search_result_row.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
{% load widget_tweaks %}
33
{% load ietf_filters %}
44
{% load ballot_icon %}
5+
{% load person_filters %}
56

67
<tr {% spaceless %}
78
{% if color_row_positions %}
@@ -120,9 +121,9 @@
120121
{% if ad_name == None or ad_name != doc.ad.plain_name %}
121122
<td class="area-director">
122123
{% if doc.ad %}
123-
<a title="Area Director" href="mailto:{{ doc.ad.email_address|urlencode }}">{{ doc.ad }}</a><br>
124+
{% person_link doc.ad title="Area Director" %}<br>
124125
{% endif %}
125-
{% if doc.shepherd %}<a title="Shepherd" href="mailto:{{doc.shepherd}}"><small class="text-muted">{{doc.shepherd.person.name}}</small></a>{% endif %}
126+
{% if doc.shepherd %}{% email_person_link doc.shepherd title="Shepherd" class="small text-muted" %}{% endif %}
126127
</td>
127128
{% endif %}
128129

ietf/templates/group/active_wgs.html

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{% extends "base.html" %}
22
{# Copyright The IETF Trust 2015, All Rights Reserved #}
3-
{% load origin staticfiles %}
3+
{% load origin staticfiles group_filters %}
44

55
{% block pagehead %}
66
<link rel="stylesheet" href="{% static "jquery.tablesorter/css/theme.bootstrap.min.css" %}">
@@ -69,11 +69,9 @@ <h3>{{ area.acronym }} active WG{{ area.groups|pluralize}} ({{area.groups.count}
6969
</td>
7070
<td>{{ group.name }}</td>
7171
<td>
72-
{% for chair in group.chairs %}
73-
<a href="{% url 'ietf.person.views.profile' email_or_name=chair.person.name %}">{{ chair.person.plain_name }}</a>
74-
<a href="mailto:{{ chair.email.address }}"><span class="fa fa-envelope-o tiny"></span></a>{% if not forloop.last %} , {% endif %}
75-
{% endfor %}
76-
{% if group.ad_out_of_area %}(Assigned AD: <a href="mailto:{{ group.ad_role.email.address }}">{{ group.ad_role.person.plain_name }}</a>){% endif %}
72+
{% for chair in group.chairs %}{% role_person_link chair %}{% if not forloop.last %} , {% endif %}
73+
{% endfor %}
74+
{% if group.ad_out_of_area %}(Assigned AD: {% role_person_link group.ad_role %}){% endif %}
7775
</td>
7876
</tr>
7977
{% endfor %}

ietf/templates/group/group_about.html

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{% load origin %}
44
{% load ietf_filters %}
55
{% load markup_tags %}
6-
{% load textfilters %}
6+
{% load textfilters group_filters %}
77

88
{% block group_content %}
99
{% origin %}
@@ -155,11 +155,8 @@
155155
{% endif %}
156156
</td>
157157
<td>
158-
159-
160158
{% for r in roles %}
161-
<span class="fa fa-envelope-o"></span>
162-
<a href="mailto:{{ r.email.address }}">{{ r.person.plain_name }}</a>
159+
{% role_person_link r %}
163160
<br>
164161
{% endfor %}
165162
</td>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{# Copyright The IETF Trust 2020, All Rights Reserved #}{% spaceless %}
2+
<a {% if title %}title="{{ title }}"{% endif %} href="{% url 'ietf.person.views.profile' email_or_name=name %}">
3+
<span class="{{class}}">{{ plain_name }}</span>
4+
</a>&nbsp;<a href="mailto:{{ email|urlencode }}">
5+
<span class="fa fa-envelope-o tiny"></span>
6+
</a>
7+
{% endspaceless %}

0 commit comments

Comments
 (0)