fontawesome -> bootstrap-icons

- Legacy-Id: 19608
This commit is contained in:
Lars Eggert 2021-11-10 09:28:38 +00:00
parent 1d559374ec
commit 726b29bf74
68 changed files with 220 additions and 237 deletions

View file

@ -426,7 +426,7 @@ def format_snippet(text, trunc_words=25):
full = keep_spacing(collapsebr(linebreaksbr(mark_safe(sanitize_fragment(text)))))
snippet = truncatewords_html(full, trunc_words)
if snippet != full:
return mark_safe('<div class="snippet">%s<button class="btn btn-xs btn-default show-all"><span class="fa fa-caret-down"></span></button></div><div class="hidden full">%s</div>' % (snippet, full))
return mark_safe('<div class="snippet">%s<button class="btn btn-xs btn-default show-all"><span class="bi bi-caret-down"></span></button></div><div class="hidden full">%s</div>' % (snippet, full))
return full
@register.simple_tag

View file

@ -2136,7 +2136,7 @@ class EditTests(TestCase):
s_other = s2 if s == s1 else s1
self.assertEqual(len(constraints), 3)
self.assertEqual(constraints.eq(0).attr("data-sessions"), str(s_other.pk))
self.assertEqual(constraints.eq(0).find(".fa-user-o").parent().text(), "1") # 1 person in the constraint
self.assertEqual(constraints.eq(0).find(".bi-person").parent().text(), "1") # 1 person in the constraint
self.assertEqual(constraints.eq(1).attr("data-sessions"), str(s_other.pk))
self.assertEqual(constraints.eq(1).find(".encircled").text(), "1" if s_other == s2 else "-1")
self.assertEqual(constraints.eq(2).attr("data-sessions"), str(s_other.pk))
@ -2472,7 +2472,7 @@ class EditTests(TestCase):
# Now enable the 'chair_conflict' constraint only
chair_conflict = ConstraintName.objects.get(slug='chair_conflict')
chair_conf_label = b'<i class="fa fa-gavel"/>' # result of etree.tostring(etree.fromstring(editor_label))
chair_conf_label = b'<i class="bi bi-person-plus"/>' # result of etree.tostring(etree.fromstring(editor_label))
meeting.group_conflict_types.add(chair_conflict)
r = self.client.get(url)
q = PyQuery(r.content)
@ -2732,7 +2732,7 @@ class SessionDetailsTests(TestCase):
q = PyQuery(r.content)
self.assertTrue(q('h2#session_%s div#session-buttons-%s' % (session.id, session.id)),
'Session detail page does not contain session tool buttons')
self.assertFalse(q('h2#session_%s div#session-buttons-%s span.fa-arrows-alt' % (session.id, session.id)),
self.assertFalse(q('h2#session_%s div#session-buttons-%s span.bi-arrows-fullscreen' % (session.id, session.id)),
'The session detail page is incorrectly showing the "Show meeting materials" button')
def test_session_details_past_interim(self):

View file

@ -301,7 +301,7 @@ def preprocess_constraints_for_meeting_schedule_editor(meeting, sessions):
joint_with_groups_constraint_name = ConstraintName(
slug='joint_with_groups',
name="Joint session with",
editor_label="<i class=\"fa fa-clone\"></i>",
editor_label="<i class=\"bi bi-link\"></i>",
order=8,
)
constraint_names[joint_with_groups_constraint_name.slug] = joint_with_groups_constraint_name
@ -535,4 +535,4 @@ def preprocess_meeting_important_dates(meetings):
m.important_dates = m.importantdate_set.prefetch_related("name")
for d in m.important_dates:
d.midnight_cutoff = "UTC 23:59" in d.name.name

View file

@ -6237,7 +6237,7 @@
{
"fields": {
"desc": "",
"editor_label": "<i class=\"fa fa-user-o\"></i>{count}",
"editor_label": "<i class=\"bi bi-person\"></i>{count}",
"is_group_conflict": false,
"name": "Person must be present",
"order": 4,
@ -6250,7 +6250,7 @@
{
"fields": {
"desc": "Indicates other WGs the chairs also lead or will be active participants in",
"editor_label": "<i class=\"fa fa-gavel\"></i>",
"editor_label": "<i class=\"bi bi-person-plus\"></i>",
"is_group_conflict": true,
"name": "Chair conflict",
"order": 8,
@ -6302,7 +6302,7 @@
{
"fields": {
"desc": "Indicates WGs with which key participants (presenter, secretary, etc.) may overlap",
"editor_label": "<i class=\"fa fa-key\"></i>",
"editor_label": "<i class=\"bi bi-key\"></i>",
"is_group_conflict": true,
"name": "Key participant conflict",
"order": 10,
@ -6315,7 +6315,7 @@
{
"fields": {
"desc": "Indicates WGs with a related technology or a closely related charter",
"editor_label": "<i class=\"fa fa-rocket\"></i>",
"editor_label": "<i class=\"bi bi-link\"></i>",
"is_group_conflict": true,
"name": "Technology overlap",
"order": 9,
@ -6341,7 +6341,7 @@
{
"fields": {
"desc": "",
"editor_label": "<i class=\"fa fa-calendar-o\"></i>",
"editor_label": "<i class=\"bi bi-calendar\"></i>",
"is_group_conflict": false,
"name": "Can't meet within timerange",
"order": 5,
@ -6354,7 +6354,7 @@
{
"fields": {
"desc": "",
"editor_label": "<i class=\"fa fa-step-forward\"></i>",
"editor_label": "<i class=\"bi bi-skip-end\"></i>",
"is_group_conflict": false,
"name": "Request for adjacent scheduling with another WG",
"order": 7,
@ -15693,4 +15693,4 @@
"model": "utils.versioninfo",
"pk": 4
}
]
]

View file

@ -12,13 +12,13 @@ class Migration(migrations.Migration):
ConstraintName = apps.get_model('name', 'ConstraintName')
for cn in ConstraintName.objects.all():
cn.editor_label = {
'bethere': "<i class=\"fa fa-user-o\"></i>{count}",
'wg_adjacent': "<i class=\"fa fa-step-forward\"></i>",
'bethere': "<i class=\"bi bi-person\"></i>{count}",
'wg_adjacent': "<i class=\"bi bi-skip-end\"></i>",
'conflict': "<span class=\"encircled\">1</span>",
'conflic2': "<span class=\"encircled\">2</span>",
'conflic3': "<span class=\"encircled\">3</span>",
'time_relation': "&Delta;",
'timerange': "<i class=\"fa fa-calendar-o\"></i>",
'timerange': "<i class=\"bi bi-calendar\"></i>",
}.get(cn.slug, cn.editor_label)
cn.order = {

View file

@ -18,21 +18,21 @@ constraint_names_to_add = [
slug='chair_conflict',
name='Chair conflict',
desc='Indicates other WGs the chairs also lead or will be active participants in',
editor_label='<i class="fa fa-gavel"></i>',
editor_label='<i class="bi bi-person-plus"></i>',
),
ConstraintInfo(
replaces='conflic2',
slug='tech_overlap',
name='Technology overlap',
desc='Indicates WGs with a related technology or a closely related charter',
editor_label='<i class="fa fa-rocket"></i>',
editor_label='<i class="bi bi-link"></i>',
),
ConstraintInfo(
replaces='conflic3',
slug='key_participant',
name='Key participant conflict',
desc='Indicates WGs with which key participants (presenter, secretary, etc.) may overlap',
editor_label='<i class="fa fa-key"></i>',
editor_label='<i class="bi bi-key"></i>',
)
]
@ -72,4 +72,4 @@ class Migration(migrations.Migration):
operations = [
migrations.RunPython(forward, reverse),
]
]

View file

@ -254,9 +254,9 @@ $(document).ready(function () {
// customize the styling a bit; more is done in ietf.css
$.tablesorter.themes.bootstrap = {
table: "",
iconSortNone: "fa fa-sort",
iconSortAsc: "fa fa-sort-asc",
iconSortDesc: "fa fa-sort-desc",
iconSortNone: "bi bi-arrow-down-up",
iconSortAsc: "bi bi-arrow-down-up-asc",
iconSortDesc: "bi bi-arrow-down-up-desc",
hover: "active"
};
// disable the URL-based sorting stuff that uses the django backend

View file

@ -52,7 +52,7 @@ class DraftIdnitsChecker(object):
# start using this when we provide more in the way of warnings during
# submission checking:
# symbol = '<span class="fa fa-check-square"></span>'
# symbol = '<span class="bi bi-check-square"></span>'
# symbol = u'<span class="large">\ua17d</span>' # Yi syllable 'nit'
# symbol = u'<span class="large">\ub2e1</span>' # Hangul syllable 'nit'

View file

@ -178,9 +178,9 @@
document attributes are necessary for an application is
available for all documents at the relative url <code>doc.json</code>, e.g.,
<code>{% url 'ietf.doc.views_doc.document_json' name='draft-ietf-poised95-std-proc-3' %}</code>
<a href="{% url 'ietf.doc.views_doc.document_json' name='draft-ietf-poised95-std-proc-3' %}"><span class="fa fa-external-link"></span></a>.
<a href="{% url 'ietf.doc.views_doc.document_json' name='draft-ietf-poised95-std-proc-3' %}"><span class="bi bi-box-arrow-up-right"></span></a>.
You can also specify an RFC: <code>{% url 'ietf.doc.views_doc.document_json' name='rfc2026' %}</code>
<a href="{% url 'ietf.doc.views_doc.document_json' name='rfc2026' %}"><span class="fa fa-external-link"></span></a>.
<a href="{% url 'ietf.doc.views_doc.document_json' name='rfc2026' %}"><span class="bi bi-box-arrow-up-right"></span></a>.
No API key is needed to access this.
</p>

View file

@ -112,9 +112,9 @@
{{revision_date}} |
{% endif %}
Report a bug:
<a href="https://trac.ietf.org/trac/ietfdb/newticket">Tracker:<span class="fa fa-bug"></span></a>
<a href="https://trac.ietf.org/trac/ietfdb/newticket">Tracker:<span class="bi bi-bug"></span></a>
{% if bugreport_email %}
<a href="mailto:{{ bugreport_email }}">Email:<span class="fa fa-envelope"></span></a>
<a href="mailto:{{ bugreport_email }}">Email:<span class="bi bi-envelope"></span></a>
{% endif %}
<br>
{% if python_version %}Python {{ python_version }}{% endif %} |

View file

@ -164,7 +164,7 @@
<li><a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}" href="/api/">API Help</a></li>
<li><a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}" href="{% url 'ietf.release.views.release' %}">Release notes</a></li>
{% if flavor == 'top' %}<li class="dropdown-divider"></li>{% endif %}
<li><a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}" href="https://trac.ietf.org/trac/ietfdb/newticket"><span class="fa fa-bug"></span> Report a bug</a></li>
<li><a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}" href="https://trac.ietf.org/trac/ietfdb/newticket"><span class="bi bi-bug"></span> Report a bug</a></li>
{% if flavor == 'top' %}</ul>{% endif %}
</li>

View file

@ -50,7 +50,7 @@
{% if clist.group %}
<p>Add individual documents here:</p>
{% else %}
<p>Conveniently track individual documents in your personal list with the track icon <span class="fa fa-bookmark-o"></span> in <a href="/doc/search/">search results</a>.</p>
<p>Conveniently track individual documents in your personal list with the track icon <span class="bi bi-bookmark"></span> in <a href="/doc/search/">search results</a>.</p>
<p>You can also add documents here:</p>
{% endif %}

View file

@ -60,7 +60,7 @@
{% for r in roles %}
<span class="fa fa-envelope-o"></span>
<span class="bi bi-envelope"></span>
<a href="mailto:{{ r.email.address }}">{{ r.person.plain_name }}</a>
<br>
{% endfor %}

View file

@ -87,13 +87,13 @@
<div class="panel-heading">
<h5 class="panel-title"><b>{{ p.pos.name }}</b> ({{ p.discuss_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %})
{% if p.send_email %}
<span class="fa fa-envelope-o pull-right" title="Email requested to be sent for this discuss"></span>
<span class="bi bi-envelope pull-right" title="Email requested to be sent for this discuss"></span>
{% elif p.any_email_sent == True %}
<span class="fa fa-envelope pull-right" title="Email requested to be sent for earlier discuss"></span>
<span class="bi bi-envelope pull-right" title="Email requested to be sent for earlier discuss"></span>
{% elif p.any_email_sent == False %}
<span class="fa fa-comment-o pull-right" title="No email send requests for this discuss"></span>
<span class="bi bi-chat-o pull-right" title="No email send requests for this discuss"></span>
{% else %}
<span class="fa fa-comment-o pull-right" title="No email send requests for this discuss"></span>
<span class="bi bi-chat-o pull-right" title="No email send requests for this discuss"></span>
{% endif %}
</h5>
</div>
@ -106,11 +106,11 @@
<div class="panel-heading">
<h5 class="panel-title"><b>Comment</b> ({{ p.comment_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %})
{% if p.send_email %}
<span class="fa fa-envelope-o pull-right" title="Email requested to be sent for this comment"></span>
<span class="bi bi-envelope pull-right" title="Email requested to be sent for this comment"></span>
{% elif p.any_email_sent == True %}
<span class="fa fa-envelope pull-right" title="Email requested to be sent for earlier comment"></span>
<span class="bi bi-envelope pull-right" title="Email requested to be sent for earlier comment"></span>
{% elif p.any_email_sent == False %}
<span class="fa fa-comment-o pull-right" title="No email send requests for this comment"></span>
<span class="bi bi-chat-o pull-right" title="No email send requests for this comment"></span>
{% else %}
<div class="pull-right small italic" style="margin-top: -0.3em;" title="No ballot position send log available">No email<br/>send info</div>
{% endif %}
@ -145,11 +145,11 @@
({{ p.comment_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %})
{% endif %}
{% if p.send_email %}
<span class="fa fa-envelope-o pull-right" title="Email requested to be sent for this ballot position"></span>
<span class="bi bi-envelope pull-right" title="Email requested to be sent for this ballot position"></span>
{% elif p.any_email_sent == True %}
<span class="fa fa-envelope pull-right" title="Email requested to be sent for earlier ballot position"></span>
<span class="bi bi-envelope pull-right" title="Email requested to be sent for earlier ballot position"></span>
{% elif p.any_email_sent == False %}
<span class="fa fa-comment-o pull-right" title="No email send requests for this ballot position"></span>
<span class="bi bi-chat-o pull-right" title="No email send requests for this ballot position"></span>
{% else %}
<div class="pull-right small italic" style="margin-top: -0.3em;" title="No ballot position send log available">No email<br/>send info</div>
{% endif %}

View file

@ -200,7 +200,7 @@
{% if file_urls %}
{% for label, url in file_urls %}
<a class="btn btn-primary btn-xs" href="{{ url }}">
<span class="fa fa-file-{% if label == "pdf" %}pdf-{% elif label == "xml" or label == "html" %}code-{% elif label == "plain text" %}text-{% endif %}o"></span>
<span class="bi bi-file-{% if label == "pdf" %}pdf-{% elif label == "xml" or label == "html" %}code-{% elif label == "plain text" %}text-{% endif %}o"></span>
{{ label }}</a>
{% endfor %}
{% else %}
@ -249,11 +249,11 @@
{% if can_request_review %}
<div>
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.request_review" doc.name %}"><span class="fa fa-check-circle-o"></span> Request review</a>
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.request_review" doc.name %}"><span class="bi bi-check-circle-o"></span> Request review</a>
{% if can_submit_unsolicited_review_for_teams|length == 1 %}
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.complete_review" doc.name can_submit_unsolicited_review_for_teams.0.acronym %}"><span class="fa fa-pencil-square-o"></span> Submit unsolicited review</a>
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.complete_review" doc.name can_submit_unsolicited_review_for_teams.0.acronym %}"><span class="bi bi-pencil-square-o"></span> Submit unsolicited review</a>
{% elif can_submit_unsolicited_review_for_teams %}
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.submit_unsolicited_review_choose_team" doc.name %}"><span class="fa fa-pencil-square-o"></span> Submit unsolicited review</a>
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.submit_unsolicited_review_choose_team" doc.name %}"><span class="bi bi-pencil-square-o"></span> Submit unsolicited review</a>
{% endif %}
</div>
{% endif %}
@ -374,7 +374,7 @@
<td>
{% if presentations %}
{% for pres in presentations %}
<a href="{% url 'ietf.meeting.views.agenda_ical' num=pres.session.meeting.number session_id=pres.session.id %}"><span class="fa fa-calendar"></span></a>
<a href="{% url 'ietf.meeting.views.agenda_ical' num=pres.session.meeting.number session_id=pres.session.id %}"><span class="bi bi-calendar"></span></a>
{{ pres.session.short_name }} at {{ pres.session.meeting }}
{% if pres.rev and pres.rev != doc.rev %}(version -{{ pres.rev }}){% endif %}{% if not forloop.last %}, {% endif %}
{% endfor %}
@ -478,7 +478,7 @@
{% for action_holder in doc.documentactionholder_set.all %}
<div>{% person_link action_holder.person title=action_holder.role_for_doc %} {{ action_holder|action_holder_badge }}</div>
{% endfor %}
{% if can_edit %}<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_doc.remind_action_holders" name=doc.name %}"><span class="fa fa-envelope-o"></span> Send reminder email </a>{% endif %}
{% if can_edit %}<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_doc.remind_action_holders" name=doc.name %}"><span class="bi bi-envelope"></span> Send reminder email </a>{% endif %}
{% else %}
(None)
{% endif %}
@ -674,17 +674,17 @@
</table>
<div class="buttonlist">
<a class="btn btn-primary btn-xs" href="mailto:{{ doc.name }}@ietf.org?subject=Mail%20regarding%20{{ doc.name }}"><span class="fa fa-envelope-o"></span> Email authors</a>
<a class="btn btn-primary btn-xs" href="mailto:{{ doc.name }}@ietf.org?subject=Mail%20regarding%20{{ doc.name }}"><span class="bi bi-envelope"></span> Email authors</a>
{% if doc.group.type.slug == 'wg' or doc.group.type.slug == 'rg' %}
<a class="btn btn-primary btn-xs" href="mailto:{{ doc.group.list_email}}?subject=Mail%20regarding%20{{ doc.name }}"><span class="fa fa-envelope-o"></span> Email {{ doc.group.type }}</a>
<a class="btn btn-primary btn-xs" href="mailto:{{ doc.group.list_email}}?subject=Mail%20regarding%20{{ doc.name }}"><span class="bi bi-envelope"></span> Email {{ doc.group.type }}</a>
{% endif %}
<a class="btn btn-primary btn-xs" href="{% url "ietf.ipr.views.search" %}?submit=draft&amp;id={{ doc.name }}" rel="nofollow"><span class="fa fa-bolt"></span> IPR {% if doc.related_ipr %} <span class="badge">{{doc.related_ipr|length}}</span>{% endif %}</a>
<a class="btn btn-primary btn-xs" href="{% url 'ietf.doc.views_doc.document_references' doc.canonical_name %}" rel="nofollow"><span class="fa fa-long-arrow-left"></span> References</a>
<a class="btn btn-primary btn-xs" href="{% url 'ietf.doc.views_doc.document_referenced_by' doc.canonical_name %}" rel="nofollow"><span class="fa fa-long-arrow-right"></span> Referenced by</a>
<a class="btn btn-primary btn-xs" href="{{settings.IDNITS_BASE_URL}}?url=https://www.ietf.org/archive/id/{{ doc.filename_with_rev }}" rel="nofollow" target="_blank"><span class="fa fa-exclamation"></span> Nits</a>
<a class="btn btn-primary btn-xs" href="{% url "ietf.ipr.views.search" %}?submit=draft&amp;id={{ doc.name }}" rel="nofollow"><span class="bi bi-lightning"></span> IPR {% if doc.related_ipr %} <span class="badge">{{doc.related_ipr|length}}</span>{% endif %}</a>
<a class="btn btn-primary btn-xs" href="{% url 'ietf.doc.views_doc.document_references' doc.canonical_name %}" rel="nofollow"><span class="bi bi-arrow-left"></span> References</a>
<a class="btn btn-primary btn-xs" href="{% url 'ietf.doc.views_doc.document_referenced_by' doc.canonical_name %}" rel="nofollow"><span class="bi bi-arrow-right"></span> Referenced by</a>
<a class="btn btn-primary btn-xs" href="{{settings.IDNITS_BASE_URL}}?url=https://www.ietf.org/archive/id/{{ doc.filename_with_rev }}" rel="nofollow" target="_blank"><span class="bi bi-exclamation"></span> Nits</a>
<div class="dropdown inline">
<button class="btn btn-primary btn-xs dropdown-toggle" type="button" id="ddSearchMenu" data-toggle="dropdown" aria-expanded="true">
<span class="fa fa-search"></span> Search lists <span class="caret"></span>
<span class="bi bi-search"></span> Search lists <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li role="presentation"><a role="menuitem" href="https://mailarchive.ietf.org/arch/search?q=%22{{ doc.name }}%22" rel="nofollow" target="_blank">IETF Mail Archive</a></li>
@ -695,12 +695,12 @@
</ul>
</div>
{% if user.is_authenticated %}
<a class="btn btn-primary btn-xs track-untrack-doc {% if not doc.tracked_in_personal_community_list %}hide{% endif %}" href="{% url "ietf.community.views.untrack_document" username=user.username name=doc.name %}" title="Remove from your personal ID list"><span class="fa fa-bookmark"></span> Untrack</a>
<a class="btn btn-primary btn-xs track-untrack-doc {% if doc.tracked_in_personal_community_list %}hide{% endif %}" href="{% url "ietf.community.views.track_document" username=user.username name=doc.name %}" title="Add to your personal ID list"><span class="fa fa-bookmark-o"></span> Track</a>
<a class="btn btn-primary btn-xs track-untrack-doc {% if not doc.tracked_in_personal_community_list %}hide{% endif %}" href="{% url "ietf.community.views.untrack_document" username=user.username name=doc.name %}" title="Remove from your personal ID list"><span class="bi bi-bookmark-check-fill"></span> Untrack</a>
<a class="btn btn-primary btn-xs track-untrack-doc {% if doc.tracked_in_personal_community_list %}hide{% endif %}" href="{% url "ietf.community.views.track_document" username=user.username name=doc.name %}" title="Add to your personal ID list"><span class="bi bi-bookmark"></span> Track</a>
{% endif %}
{% if user.review_teams %}
<a class="btn btn-primary btn-xs review-wish-add-remove-doc ajax {% if not doc.has_review_wish %}hide{% endif %}" href="{% url "ietf.doc.views_review.review_wishes_remove" name=doc.name %}?next={{ request.get_full_path|urlencode }}" title="Remove from your review wishes for all teams"><span class="fa fa-comments"></span> Remove review wishes</a>
<a class="btn btn-primary btn-xs review-wish-add-remove-doc {% if user.review_teams|length_is:"1" %}ajax {% endif %}{% if doc.has_review_wish %}hide{% endif %}" href="{% url "ietf.doc.views_review.review_wish_add" name=doc.name %}?next={{ request.get_full_path|urlencode }}" title="Add to your review wishes"><span class="fa fa-comments-o"></span> Add review wish</a>
<a class="btn btn-primary btn-xs review-wish-add-remove-doc ajax {% if not doc.has_review_wish %}hide{% endif %}" href="{% url "ietf.doc.views_review.review_wishes_remove" name=doc.name %}?next={{ request.get_full_path|urlencode }}" title="Remove from your review wishes for all teams"><span class="bi bi-chats"></span> Remove review wishes</a>
<a class="btn btn-primary btn-xs review-wish-add-remove-doc {% if user.review_teams|length_is:"1" %}ajax {% endif %}{% if doc.has_review_wish %}hide{% endif %}" href="{% url "ietf.doc.views_review.review_wish_add" name=doc.name %}?next={{ request.get_full_path|urlencode }}" title="Add to your review wishes"><span class="bi bi-chats-o"></span> Add review wish</a>
{% endif %}
{% if can_edit and iesg_state.slug != 'idexists' %}
@ -720,7 +720,7 @@
{{ content|safe }}
{% if split_content %}
<a class="btn btn-primary btn-block" href="?include_text=1"><span class="fa fa-caret-down"></span> Show full document text</a>
<a class="btn btn-primary btn-block" href="?include_text=1"><span class="bi bi-caret-down"></span> Show full document text</a>
{% endif %}
{% else %}
@ -741,7 +741,7 @@
<p>
{% for author in doc.documentauthor_set.all %}
{% if author.email %}
<span class="fa fa-envelope-o"></span>
<span class="bi bi-envelope"></span>
<a href="mailto:{{ author.email.address }}">
{% endif %}
{{ author.person }}

View file

@ -95,7 +95,7 @@
<h2>Document history</h2>
{% if can_add_comment %}
<div class="buttonlist">
<a class="btn btn-primary" href="{% url 'ietf.doc.views_doc.add_comment' name=doc.name %}"><span class="fa fa-plus"></span> Add comment</a>
<a class="btn btn-primary" href="{% url 'ietf.doc.views_doc.add_comment' name=doc.name %}"><span class="bi bi-plus"></span> Add comment</a>
</div>
{% endif %}

View file

@ -51,8 +51,8 @@
</td>
<td>
<b>{{ref.source.title}}</b><br>
<a class="btn btn-primary btn-xs" href="{% url 'ietf.doc.views_doc.document_references' name %}" rel="nofollow"><span class="fa fa-long-arrow-left"></span> References</a>
<a class="btn btn-primary btn-xs" href="{% url 'ietf.doc.views_doc.document_referenced_by' name %}" rel="nofollow"><span class="fa fa-long-arrow-right"></span> Referenced by</a>
<a class="btn btn-primary btn-xs" href="{% url 'ietf.doc.views_doc.document_references' name %}" rel="nofollow"><span class="bi bi-arrow-left"></span> References</a>
<a class="btn btn-primary btn-xs" href="{% url 'ietf.doc.views_doc.document_referenced_by' name %}" rel="nofollow"><span class="bi bi-arrow-right"></span> Referenced by</a>
</td>
<td>
{% ifequal ref.source.get_state.slug 'rfc' %}

View file

@ -38,8 +38,8 @@
<td><a href="{% url 'ietf.doc.views_doc.document_main' name=name %}">{{ name|prettystdname }}</a></td>
<td>
<b>{{ref.target.document.title}}</b><br>
<a class="btn btn-primary btn-xs" href="{% url 'ietf.doc.views_doc.document_references' name %}" rel="nofollow"><span class="fa fa-long-arrow-left"></span> References</a>
<a class="btn btn-primary btn-xs" href="{% url 'ietf.doc.views_doc.document_referenced_by' name %}" rel="nofollow"><span class="fa fa-long-arrow-right"></span> Referenced by</a>
<a class="btn btn-primary btn-xs" href="{% url 'ietf.doc.views_doc.document_references' name %}" rel="nofollow"><span class="bi bi-arrow-left"></span> References</a>
<a class="btn btn-primary btn-xs" href="{% url 'ietf.doc.views_doc.document_referenced_by' name %}" rel="nofollow"><span class="bi bi-arrow-right"></span> Referenced by</a>
</td>
<td>
{% ifequal ref.target.document.get_state.slug 'rfc' %}

View file

@ -37,7 +37,7 @@
{% for form in formset %}
<div class="panel panel-default author-panel">
<div class="panel-body draggable">
<span class="handle fa fa-reorder"></span>
<span class="handle bi bi-list"></span>
<div class="form-horizontal">
{% bootstrap_form form layout='horizontal' %}
</div>
@ -48,7 +48,7 @@
<div id="empty-author-form" class="template">
<div class="panel panel-default author-panel">
<div class="panel-body draggable">
<span class="handle fa fa-reorder"></span>
<span class="handle bi bi-list"></span>
<div class="form-horizontal">
{% bootstrap_form formset.empty_form layout='horizontal' %}
</div>

View file

@ -67,8 +67,8 @@
</p>
<div class="retrieving hidden">
<span class="fa fa-spin fa-circle-o-notch"></span>
Searching...
<div class="spinner-border spinner-border-sm" role="status"></div>
Searching...
</div>
<div class="results hidden">
@ -118,4 +118,4 @@
var isReviewer = {{ is_reviewer|yesno:'true,false' }};
</script>
<script src="{% static 'ietf/js/complete-review.js' %}"></script>
{% endblock %}
{% endblock %}

View file

@ -50,7 +50,7 @@
<th>Deadline</th>
<td>{{ review_req.deadline|date:"Y-m-d" }}
{% if can_edit_deadline %}
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.edit_deadline" name=doc.name request_id=review_req.pk %}"><span class="fa fa-edit"></span> Edit</a>
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.edit_deadline" name=doc.name request_id=review_req.pk %}"><span class="bi bi-pencil"></span> Edit</a>
{% endif %}
</td>
</tr>
@ -123,7 +123,7 @@
<th>Comments</th>
<td><pre class="pasted">{{review_req.comment}}</pre>
{% if can_edit_comment %}
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.edit_comment" name=doc.name request_id=review_req.pk %}"><span class="fa fa-edit"></span> Edit comment</a>
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.edit_comment" name=doc.name request_id=review_req.pk %}"><span class="bi bi-pencil"></span> Edit comment</a>
{% endif %}
</td>
</tr>
@ -146,10 +146,10 @@
<em>Assignment accepted:</em>
{% endif %}
{% if assignment.can_reject_reviewer_assignment %}
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.reject_reviewer_assignment" name=doc.name assignment_id=assignment.pk %}"><span class="fa fa-ban"></span> Reject</a>
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.reject_reviewer_assignment" name=doc.name assignment_id=assignment.pk %}"><span class="bi bi-slash-circle"></span> Reject</a>
{% endif %}
{% if assignment.can_accept_reviewer_assignment %}
<form style="display:inline" method="post" action="{% url "ietf.doc.views_review.review_request" name=doc.name request_id=review_req.pk %}">{% csrf_token %}<button class="btn btn-success btn-xs" type="submit" name="action" value="accept"><span class="fa fa-check"></span> Accept</button></form>
<form style="display:inline" method="post" action="{% url "ietf.doc.views_review.review_request" name=doc.name request_id=review_req.pk %}">{% csrf_token %}<button class="btn btn-success btn-xs" type="submit" name="action" value="accept"><span class="bi bi-check"></span> Accept</button></form>
{% endif %}
</div>
{% endif %}
@ -180,13 +180,13 @@
{% endif %}
{% if assignment.can_complete_review %}
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.complete_review" name=doc.name assignment_id=assignment.pk %}"><span class="fa fa-pencil-square-o"></span> {% if assignment.state_id == "assigned" or assignment.state_id == "accepted" %}Complete review{% else %}Correct review{% endif %}</a>
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.complete_review" name=doc.name assignment_id=assignment.pk %}"><span class="bi bi-pencil-square-o"></span> {% if assignment.state_id == "assigned" or assignment.state_id == "accepted" %}Complete review{% else %}Correct review{% endif %}</a>
{% endif %}
{% if assignment.state_id == "assigned" or assignment.state_id == "accepted" %}
{% if can_assign_reviewer %}
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.mark_reviewer_assignment_no_response" name=doc.name assignment_id=assignment.pk %}"><span class="fa fa-ban"></span> No response</a>
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.withdraw_reviewer_assignment" name=doc.name assignment_id=assignment.pk %}"><span class="fa fa-ban"></span> Withdraw</a>
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.mark_reviewer_assignment_no_response" name=doc.name assignment_id=assignment.pk %}"><span class="bi bi-slash-circle"></span> No response</a>
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.withdraw_reviewer_assignment" name=doc.name assignment_id=assignment.pk %}"><span class="bi bi-slash-circle"></span> Withdraw</a>
{% endif %}
{% endif %}
</td>
@ -235,7 +235,7 @@
{% if can_assign_reviewer %}
<p>
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.assign_reviewer" name=doc.name request_id=review_req.pk %}"><span class="fa fa-user"></span> Assign reviewer</a>
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.assign_reviewer" name=doc.name request_id=review_req.pk %}"><span class="bi bi-person"></span> Assign reviewer</a>
</p>
{% endif %}

View file

@ -12,7 +12,7 @@
<div>
{% if can_close_request %}
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.close_request" name=doc.name request_id=review_req.pk %}"><span class="fa fa-ban"></span> Close request</a>
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.close_request" name=doc.name request_id=review_req.pk %}"><span class="bi bi-slash-circle"></span> Close request</a>
{% endif %}
</div>

View file

@ -14,7 +14,7 @@
<h1>Document Search</h1>
</div>
<div class="col-sm-1 col-md-1 col-lg-1 text-right">
<h1><a href="/doc/stats/newrevisiondocevent?{{queryargs}}" class="icon-link">&nbsp;<span class="small fa fa-bar-chart">&nbsp;</span></a></h1>
<h1><a href="/doc/stats/newrevisiondocevent?{{queryargs}}" class="icon-link">&nbsp;<span class="small bi bi-bar-chart-line">&nbsp;</span></a></h1>
</div>

View file

@ -11,7 +11,7 @@
{{ form.name|add_class:"form-control"|attr:"placeholder:Document name/title/RFC number" }}
<span class="input-group-btn">
<button class="btn btn-primary" type="submit">
<span class="fa fa-search"></span>
<span class="bi bi-search"></span>
Search
</button>
</span>
@ -139,7 +139,7 @@
</div>
<div class="col-sm-4">
<button class="btn btn-primary btn-block" type="submit">
<span class="fa fa-search"></span>
<span class="bi bi-search"></span>
Search
</button>
</div>

View file

@ -15,19 +15,19 @@
<td>
{% if user.is_authenticated %}
<a href="{% url "ietf.community.views.untrack_document" username=request.user.username name=doc.name %}" class="track-untrack-doc {% if not doc.tracked_in_personal_community_list %}hide{% endif %}" title="Remove from your personal ID list">
<span class="fa fa-bookmark"></span>
<span class="bi bi-bookmark-check-fill"></span>
</a>
<a href="{% url "ietf.community.views.track_document" username=request.user.username name=doc.name %}" class="track-untrack-doc {% if doc.tracked_in_personal_community_list %}hide{% endif %}" title="Add to your personal ID list">
<span class="fa fa-bookmark-o"></span>
<span class="bi bi-bookmark"></span>
</a>
<br>
{% endif %}
{% if user.review_teams %}
<a class="review-wish-add-remove-doc ajax {% if not doc.has_review_wish %}hide{% endif %}" href="{% url "ietf.doc.views_review.review_wishes_remove" name=doc.name %}?next={{ request.get_full_path|urlencode }}" title="Remove from your review wishes for all teams">
<span class="fa fa-comments"></span>
<span class="bi bi-chats"></span>
</a>
<a class="review-wish-add-remove-doc {% if user.review_teams|length_is:"1" %}ajax {% endif %}{% if doc.has_review_wish %}hide{% endif %}" href="{% url "ietf.doc.views_review.review_wish_add" name=doc.name %}?next={{ request.get_full_path|urlencode }}" title="Add to your review wishes">
<span class="fa fa-comments-o"></span>
<span class="bi bi-chats-o"></span>
</a>
<br>
{% endif %}
@ -35,8 +35,7 @@
{% for session in doc.sessions %}
<a href="{% url 'ietf.meeting.views.agenda_ical' num=session.meeting.number session_id=session.id %}"
title="Calendar entry: document is on the agenda for {{ session.group.acronym }}@{{ session.meeting }}">
{# font-size set to make the width of fa-calendar come out the same as fa-bookmark-o above: #}
<span class="fa fa-calendar" style="font-size: 75%"></span>
<span class="bi bi-calendar"></span>
</a>
{% endfor %}
</td>
@ -137,4 +136,4 @@
{% endwith %}
{% endif %}
</tr>
</tr>

View file

@ -29,9 +29,9 @@
<a href="{{ h.sort_url }}">{{ h.title }}
{% if h.sorted and meta.max %}
{% if h.direction == "asc" %}
<span class="fa fa-caret-up"></span>
<span class="bi bi-caret-up"></span>
{% else %}
<span class="fa fa-caret-down"></span>
<span class="bi bi-caret-down"></span>
{% endif %}
{% endif %}
</a>

View file

@ -40,7 +40,7 @@
format: "yyyy-mm-dd",
todayBtn: "linked",
todayHighlight: true
}).wrap('<div class="input-group"></div>').parent().prepend('<span class="input-group-addon"><span class="fa fa-calendar"></span></span>');
}).wrap('<div class="input-group"></div>').parent().prepend('<span class="input-group-addon"><span class="bi bi-calendar"></span></span>');
</script>
{% endblock %}

View file

@ -19,7 +19,7 @@
<table class="table table-sm">
<tr {% if warn.intended_std_level %}class="warning"{% endif %}>
<th class="text-nowrap">Intended status level</th>
<td>{% if warn.intended_std_level %}<span class="fa fa-warning"></span>{% endif %}</td>
<td>{% if warn.intended_std_level %}<span class="bi bi-exclamation"></span>{% endif %}</td>
<td>{{doc.intended_std_level}}</td>
</tr>
@ -31,13 +31,13 @@
<tr {% if warn.shepherd %}class="warning"{% endif %}>
<th class="text-nowrap">Document shepherd</th>
<td>{% if warn.shepherd %}<span class="fa fa-warning"></span>{% endif %}</td>
<td>{% if warn.shepherd %}<span class="bi bi-exclamation"></span>{% endif %}</td>
<td>{% if doc.shepherd %}{{ doc.shepherd.person }}{% endif %}</td>
</tr>
<tr {% if warn.shepherd_writeup %}class="warning"{% endif %}>
<th class="text-nowrap">Shepherd write-up exists</th>
<td>{% if warn.shepherd_writeup %}<span class="fa fa-warning"></span>{% endif %}</td>
<td>{% if warn.shepherd_writeup %}<span class="bi bi-exclamation"></span>{% endif %}</td>
<td>{%if shepherd_writeup %}Yes{%else%}No{%endif%}</td>
</tr>
@ -49,13 +49,13 @@
<tr {% if warn.tags %}class="warning"{% endif %}>
<th class="text-nowrap">Annotation tags</th>
<td>{% if warn.tags %}<span class="fa fa-warning"></span>{% endif %}</td>
<td>{% if warn.tags %}<span class="bi bi-exclamation"></span>{% endif %}</td>
<td>{% if not tags %}(None){%else%}{% for tag in tags %}{{ tag }}{% if not forloop.last%}, {%endif%}{% endfor %}{% endif %}</td>
</tr>
</table>
{% if warn %}
<p class="alert alert-warning"><span class="fa fa-warning"></span> indicates the document might not be ready for submission. Please check each instance carefully to see if changes need to be made to the document's state before submitting.</p>
<p class="alert alert-warning"><span class="bi bi-exclamation"></span> indicates the document might not be ready for submission. Please check each instance carefully to see if changes need to be made to the document's state before submitting.</p>
{% endif %}
<p>

View file

@ -29,19 +29,19 @@
<td>
{% for ad in group.ads %}
<a href="{% url 'ietf.person.views.profile' email_or_name=ad.person.name %}">{{ ad.person.plain_name }}
</a><a href="mailto:{{ ad.email.address }}"><span class="fa fa-envelope-o tiny"></span></a>{% if not forloop.last %}, {% endif %}
</a><a href="mailto:{{ ad.email.address }}"><span class="bi bi-envelope tiny"></span></a>{% if not forloop.last %}, {% endif %}
{% endfor %}
</td>
<td>
{% for secretary in group.secretaries %}
<a href="{% url 'ietf.person.views.profile' email_or_name=secretary.person.name %}">{{ secretary.person.plain_name }}
</a><a href="mailto:{{ secretary.email.address }}"><span class="fa fa-envelope-o tiny"></span></a> {% if not forloop.last %}, {% endif %}
</a><a href="mailto:{{ secretary.email.address }}"><span class="bi bi-envelope tiny"></span></a> {% if not forloop.last %}, {% endif %}
{% endfor %}
</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 %}
</a><a href="mailto:{{ chair.email.address }}"><span class="bi bi-envelope tiny"></span></a>{% if not forloop.last %}, {% endif %}
{% endfor %}
</td>
</tr>

View file

@ -31,26 +31,26 @@
<td>{{ group.name }}</td>
<td class="text-center">
{% if group.type_id == 'review' %}
<span class="fa fa-check tiny"><span class="hidden">yes</span></span>
<span class="bi bi-check tiny"><span class="hidden">yes</span></span>
{% endif %}
</td>
<td><a href="{% url "ietf.group.views.group_home" acronym=group.parent.acronym %}">{{ group.parent.acronym }}</a></td>
<td>
{% for ad in group.ads %}
<a href="{% url 'ietf.person.views.profile' email_or_name=ad.person.name %}">{{ ad.person.plain_name }}
</a><a href="mailto:{{ ad.email.address }}"><span class="fa fa-envelope-o tiny"></span></a>{% if not forloop.last %}, {% endif %}
</a><a href="mailto:{{ ad.email.address }}"><span class="bi bi-envelope tiny"></span></a>{% if not forloop.last %}, {% endif %}
{% endfor %}
</td>
<td>
{% for secretary in group.secretaries %}
<a href="{% url 'ietf.person.views.profile' email_or_name=secretary.person.name %}">{{ secretary.person.plain_name }}</a>
<a href="mailto:{{ secretary.email.address }}"><span class="fa fa-envelope-o tiny"></span></a> {% if not forloop.last %}, {% endif %}
<a href="mailto:{{ secretary.email.address }}"><span class="bi bi-envelope tiny"></span></a> {% if not forloop.last %}, {% endif %}
{% endfor %}
</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 %}
<a href="mailto:{{ chair.email.address }}"><span class="bi bi-envelope tiny"></span></a>{% if not forloop.last %}, {% endif %}
{% endfor %}
</td>
</tr>

View file

@ -28,13 +28,13 @@
<td>
{% for secretary in group.secretaries %}
<a href="{% url 'ietf.person.views.profile' email_or_name=secretary.person.name %}">{{ secretary.person.plain_name }}
</a><a href="mailto:{{ secretary.email.address }}"><span class="fa fa-envelope-o tiny"></span></a> {% if not forloop.last %}, {% endif %}
</a><a href="mailto:{{ secretary.email.address }}"><span class="bi bi-envelope tiny"></span></a> {% if not forloop.last %}, {% endif %}
{% endfor %}
</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 %}
</a><a href="mailto:{{ chair.email.address }}"><span class="bi bi-envelope tiny"></span></a>{% if not forloop.last %}, {% endif %}
{% endfor %}
</td>
</tr>

View file

@ -32,19 +32,19 @@
<td>
{% for ad in group.ads %}
<a href="{% url 'ietf.person.views.profile' email_or_name=ad.person.name %}">{{ ad.person.plain_name }}
</a><a href="mailto:{{ ad.email.address }}"><span class="fa fa-envelope-o tiny"></span></a>{% if not forloop.last %}, {% endif %}
</a><a href="mailto:{{ ad.email.address }}"><span class="bi bi-envelope tiny"></span></a>{% if not forloop.last %}, {% endif %}
{% endfor %}
</td>
<td>
{% for secretary in group.secretaries %}
<a href="{% url 'ietf.person.views.profile' email_or_name=secretary.person.name %}">{{ secretary.person.plain_name }}</a>
<a href="mailto:{{ secretary.email.address }}"><span class="fa fa-envelope-o tiny"></span></a> {% if not forloop.last %}, {% endif %}
<a href="mailto:{{ secretary.email.address }}"><span class="bi bi-envelope tiny"></span></a> {% if not forloop.last %}, {% endif %}
{% endfor %}
</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 %}
<a href="mailto:{{ chair.email.address }}"><span class="bi bi-envelope tiny"></span></a>{% if not forloop.last %}, {% endif %}
{% endfor %}
</td>
</tr>

View file

@ -14,7 +14,7 @@
<h2>IRTF chair</h2>
<p>
<a href="mailto:{{ irtf.chair.email.address }}"><span class="fa fa-envelope-o tiny"></span></a>
<a href="mailto:{{ irtf.chair.email.address }}"><span class="bi bi-envelope tiny"></span></a>
<a href="{% url 'ietf.person.views.profile' email_or_name=irtf.chair.person.name %}">{{ irtf.chair.person.plain_name }}</a>
</p>
@ -38,7 +38,7 @@
<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 %}
<a href="mailto:{{ chair.email.address }}"><span class="bi bi-envelope tiny"></span></a>{% if not forloop.last %} , {% endif %}
{% endfor %}</td>
</tr>
{% endfor %}

View file

@ -28,7 +28,7 @@
<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 %}
<a href="mailto:{{ chair.email.address }}"><span class="bi bi-envelope tiny"></span></a>{% if not forloop.last %} , {% endif %}
{% endfor %}
</td>
</tr>

View file

@ -30,7 +30,7 @@
{% for ad in area.ads_and_pre_ads %}
<li>
<a href="{% url 'ietf.person.views.profile' email_or_name=ad.person.name %}">{{ ad.person.plain_name }}</a>
<a href="mailto:{{ ad.email.address }}"><span class="fa fa-envelope-o tiny"></span></a>
<a href="mailto:{{ ad.email.address }}"><span class="bi bi-envelope tiny"></span></a>
{% if ad.name == "pre-ad" %} (Incoming AD){% endif %}
</li>
{% endfor %}
@ -64,7 +64,7 @@
<td>
{% if group.ad_role %}
<a href="{% url 'ietf.person.views.profile' email_or_name=group.ad_role.person.name %}">{{ group.ad_role.person.plain_name.split.0 }}</a>
<a href="mailto:{{ group.ad_role.email.address }}"><span class="fa fa-envelope-o tiny"></span></a>
<a href="mailto:{{ group.ad_role.email.address }}"><span class="bi bi-envelope tiny"></span></a>
{% endif %}
</td>
<td>{{ group.name }}</td>

View file

@ -12,7 +12,7 @@
{% origin %}
<h2>Group History</h2>
{% if can_add_comment %}
<a class="btn btn-primary" href="{% url 'ietf.group.views.add_comment' acronym=group.acronym %}"><span class="fa fa-plus"></span> Add comment</a>
<a class="btn btn-primary" href="{% url 'ietf.group.views.add_comment' acronym=group.acronym %}"><span class="bi bi-plus"></span> Add comment</a>
{% endif %}
<table class="table table-sm table-striped tablesorter">
<thead>

View file

@ -39,9 +39,9 @@
{% if show_ical %}
{% if s.meeting.type_id == 'ietf' %}
{{s.time|date:"H:i"}}
&nbsp;<a href="{% url 'ietf.meeting.views.agenda_ical' num=s.meeting.number session_id=s.id %}"><span class="fa fa-calendar-o"></span></a>
&nbsp;<a href="{% url 'ietf.meeting.views.agenda_ical' num=s.meeting.number session_id=s.id %}"><span class="bi bi-calendar"></span></a>
{% else %}
&nbsp;<a href="{% url 'ietf.meeting.views.agenda_ical' num=s.meeting.number acronym=s.group.acronym %}"><span class="fa fa-calendar"></span></a>
&nbsp;<a href="{% url 'ietf.meeting.views.agenda_ical' num=s.meeting.number acronym=s.group.acronym %}"><span class="bi bi-calendar"></span></a>
{% endif %}
{% endif %}
</td>

View file

@ -34,7 +34,7 @@
<div class="panel panel-default" id="futuremeets">
<div class="panel-heading">
Future Meetings
<a class="regular pull-right" title="icalendar entry for all scheduled future {{group.acronym}} meetings" href="{% url 'ietf.meeting.views.upcoming_ical' %}?show={{group.acronym}}"><span class="fa fa-calendar"></span></a>
<a class="regular pull-right" title="icalendar entry for all scheduled future {{group.acronym}} meetings" href="{% url 'ietf.meeting.views.upcoming_ical' %}?show={{group.acronym}}"><span class="bi bi-calendar"></span></a>
</div>
<div class="panel-body">
{% with sessions=future show_request=True show_ical=True can_edit_materials=can_edit %}

View file

@ -14,7 +14,7 @@
{% origin %}
{% if can_access_stats %}
<h1 class="pull-right"><a href="{% url "ietf.stats.views.review_stats" %}" class="icon-link">&nbsp;<span class="small fa fa-bar-chart">&nbsp;</span></a></h1>
<h1 class="pull-right"><a href="{% url "ietf.stats.views.review_stats" %}" class="icon-link">&nbsp;<span class="small bi bi-bar-chart-line">&nbsp;</span></a></h1>
{% endif %}
{% if unassigned_review_requests %}

View file

@ -14,7 +14,7 @@
{% endblock %}
{% if can_access_stats %}
<h1 class="pull-right"><a href="{% url "ietf.stats.views.review_stats" stats_type="completion" acronym=group.acronym %}" class="icon-link">&nbsp;<span class="small fa fa-bar-chart">&nbsp;</span></a></h1>
<h1 class="pull-right"><a href="{% url "ietf.stats.views.review_stats" stats_type="completion" acronym=group.acronym %}" class="icon-link">&nbsp;<span class="small bi bi-bar-chart-line">&nbsp;</span></a></h1>
{% endif %}
<h2>Reviewers</h2>

View file

@ -10,7 +10,7 @@
<dt>Charter</dt>
<dd>
<a href="{{ doc.get_href }}"><span class="fa fa-file"></span></a>
<a href="{{ doc.get_href }}"><span class="bi bi-file"></span></a>
<a href="{{ doc.get_absolute_url }}">{{ doc.name}}-({{doc.rev}})</a>
</dd>

View file

@ -8,7 +8,7 @@
<dt>Conflict review</dt>
<dd>
<a href="{{doc.get_href}}">
<span class="fa fa-file"></span>
<span class="bi bi-file"></span>
</a>
<a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc.canonical_name }}</a>
<br>
@ -18,7 +18,7 @@
<dt>{{ conflictdoc.stream }} {{ conflictdoc.intended_std_level }}</dt>
<dd>
<a href="{{settings.IETF_ID_ARCHIVE_URL}}{{ conflictdoc.name }}-{{ conflictdoc.rev }}.txt">
<span class="fa fa-file"></span>
<span class="bi bi-file"></span>
</a>
<a href="{% url "ietf.doc.views_doc.document_main" name=conflictdoc.name %}">{{ conflictdoc.name }}</a>
<br>

View file

@ -17,7 +17,7 @@
{% else %}
<a href="{{doc.get_href}}">
{% endif %}
<span class="fa fa-file"></span></a>
<span class="bi bi-file"></span></a>
{% endwith %}
<a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc.canonical_name }}</a>
{% if doc.has_rfc_editor_note %}

View file

@ -37,12 +37,12 @@
</h2>
<p>
<a class="btn btn-primary" role="button" href="/iesg/agenda/">
<span class="fa fa-list"></span>
<span class="bi bi-list"></span>
Full IESG agenda
</a>
<a class="btn btn-primary" role="button" href="/iesg/agenda/telechat-{{t.date|date:"Y"}}-{{t.date|date:"m"}}-{{t.date|date:"d"}}-docs.tgz">
<span class="fa fa-download"></span>
<span class="bi bi-download"></span>
Download documents
</a>
</p>

View file

@ -25,7 +25,7 @@
<div class="input-group">
{% render_field form.draft class="form-control" placeholder="draft-..." %}
<span class="input-group-btn">
<button class="btn btn-primary" type="submit" name="submit" value="draft"><span class="fa fa-search"></span> Search</button>
<button class="btn btn-primary" type="submit" name="submit" value="draft"><span class="bi bi-search"></span> Search</button>
</span>
</div>
</div>
@ -35,7 +35,7 @@
<div class="input-group">
{% render_field form.rfc class="form-control" placeholder="123..." %}
<span class="input-group-btn">
<button class="btn btn-primary" type="submit" name="submit" value="rfc"><span class="fa fa-search"></span> Search</button>
<button class="btn btn-primary" type="submit" name="submit" value="rfc"><span class="bi bi-search"></span> Search</button>
</span>
</div>
</div>
@ -45,7 +45,7 @@
<div class="input-group">
{% render_field form.doctitle class="form-control" placeholder="protocol..." %}
<span class="input-group-btn">
<button class="btn btn-primary" type="submit" name="submit" value="doctitle"><span class="fa fa-search"></span> Search</button>
<button class="btn btn-primary" type="submit" name="submit" value="doctitle"><span class="bi bi-search"></span> Search</button>
</span>
</div>
</div>
@ -57,7 +57,7 @@
{% render_field form.group class="form-control" %}
</div>
<div class="col-sm-4">
<button class="btn btn-primary btn-block" type="submit" name="submit" value="group"><span class="fa fa-search"></span> Search</button>
<button class="btn btn-primary btn-block" type="submit" name="submit" value="group"><span class="bi bi-search"></span> Search</button>
</div>
</div>
</div>
@ -72,7 +72,7 @@
<div class="input-group">
{% render_field form.holder class="form-control" placeholder="John Doe..." %}
<span class="input-group-btn">
<button class="btn btn-primary" type="submit" name="submit" value="holder"><span class="fa fa-search"></span> Search</button>
<button class="btn btn-primary" type="submit" name="submit" value="holder"><span class="bi bi-search"></span> Search</button>
</span>
</div>
</div>
@ -82,7 +82,7 @@
<div class="input-group">
{% render_field form.iprtitle class="form-control" placeholder="protocol..." %}
<span class="input-group-btn">
<button class="btn btn-primary" type="submit" name="submit" value="iprtitle"><span class="fa fa-search"></span> Search</button>
<button class="btn btn-primary" type="submit" name="submit" value="iprtitle"><span class="bi bi-search"></span> Search</button>
</span>
</div>
</div>
@ -92,7 +92,7 @@
<div class="input-group">
{% render_field form.patent class="form-control" %}
<span class="input-group-btn">
<button class="btn btn-primary" type="submit" name="submit" value="patent"><span class="fa fa-search"></span> Search</button>
<button class="btn btn-primary" type="submit" name="submit" value="patent"><span class="bi bi-search"></span> Search</button>
</span>
</div>
<div class="help-block">

View file

@ -5,19 +5,19 @@
<thead>
<tr>
<th>
<a href="?sort=date">Date {% if sort == "date" %}<span class="fa fa-caret-down"></span>{% endif %}</a>
<a href="?sort=date">Date {% if sort == "date" %}<span class="bi bi-caret-down"></span>{% endif %}</a>
</th>
<th>
<a href="?sort=from_groups">From {% if sort == "from_groups" %}<span class="fa fa-caret-down"></span>{% endif %}</a>
<a href="?sort=from_groups">From {% if sort == "from_groups" %}<span class="bi bi-caret-down"></span>{% endif %}</a>
</th>
<th>
<a href="?sort=to_groups">To {% if sort == "to_groups" %}<span class="fa fa-caret-down"></span>{% endif %}</a>
<a href="?sort=to_groups">To {% if sort == "to_groups" %}<span class="bi bi-caret-down"></span>{% endif %}</a>
</th>
<th>
<a href="?sort=deadline">Deadline {% if sort == "deadline" %}<span class="fa fa-caret-down"></span>{% endif %}</a>
<a href="?sort=deadline">Deadline {% if sort == "deadline" %}<span class="bi bi-caret-down"></span>{% endif %}</a>
</th>
<th>
<a href="?sort=title">Title {% if sort == "title" %}<span class="fa fa-caret-down"></span>{% endif %}</a>
<a href="?sort=title">Title {% if sort == "title" %}<span class="bi bi-caret-down"></span>{% endif %}</a>
</th>
</tr>
</thead>

View file

@ -9,7 +9,7 @@
{{ form.text|add_class:"form-control"|attr:"placeholder:Title, body, identifiers, etc." }}
<span class="input-group-btn">
<button class="btn btn-primary" type="submit">
<span class="fa fa-search"></span>
<span class="bi bi-search"></span>
Search
</button>
</span>
@ -20,7 +20,7 @@
<div class="panel-heading">
<p class="panel-title toggle_advanced">
<a data-toggle="collapse" data-parent="#accordion1" href="#searchcollapse">
<span class="fa fa-caret-down"></span> Additional search criteria
<span class="bi bi-caret-down"></span> Additional search criteria
</a>
</p>
</div>
@ -72,7 +72,7 @@
</div>
<div class="col-sm-4">
<button class="btn btn-primary btn-block" type="submit">
<span class="fa fa-search"></span>
<span class="bi bi-search"></span>
Search
</button>
</div>

View file

@ -13,7 +13,7 @@ Optional parameters:
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#customize">
<span class="fa fa-caret-down"></span> {% firstof customize_button_text "Customize..."%}
<span class="bi bi-caret-down"></span> {% firstof customize_button_text "Customize..."%}
</a>
</h4>
</div>

View file

@ -84,7 +84,7 @@
<div class="timeslots">
<div class="room-name">
<strong>{{ room.name }}</strong><br>
{% if room.capacity %}{{ room.capacity }} <i class="fa fa-user-o"></i>{% endif %}
{% if room.capacity %}{{ room.capacity }} <i class="bi bi-person"></i>{% endif %}
</div>
</div>
{% endwith %}{% endfor %}
@ -99,7 +99,7 @@
<div class="day">
<div class="day-label">
<strong>{{ day|date:"l" }}</strong>
<i class="fa fa-exchange swap-days"
<i class="bi bi-arrow-left-right swap-days"
data-dayid="{{ day.isoformat }}"
data-start="{{ day.isoformat }}"></i>
<br>
@ -116,7 +116,7 @@
<div class="time-label" style="width: {{ t.layout_width }}rem">
<span>
{{ t.time|date:"G:i" }} - {{ t.end_time|date:"G:i" }}
<i class="fa fa-exchange swap-timeslot-col"
<i class="bi bi-arrow-left-right swap-timeslot-col"
data-origin-label="{{ day|date:"l, N j" }}, {{ t.time|date:"G:i" }}-{{ t.end_time|date:"G:i" }}"
data-start="{{ t.utc_start_time.isoformat }}"
data-timeslot-pk="{{ t.pk }}"></i>

View file

@ -12,7 +12,7 @@
{% endif %}
{% if session.comments %}
<span class="comments"><i class="fa fa-comment-o"></i></span>
<span class="comments"><i class="bi bi-chat-o"></i></span>
{% endif %}
{% if session.constrained_sessions %}
@ -36,7 +36,7 @@
&middot; {% if session.group.is_bof %}BOF{% else %}{{ session.group.type.name }}{% endif %}
{% endif %}
{% if session.attendees != None %}
&middot; {{ session.attendees }} <i class="fa fa-user-o"></i>
&middot; {{ session.attendees }} <i class="bi bi-person"></i>
{% endif %}
</strong>
</div>
@ -52,7 +52,7 @@
{% if session.requested_by_person %}
<div>
<i title="Requested by" class="fa fa-user-circle-o"></i> {{ session.requested_by_person.plain_name }} {% if session.requested_time %}({{ session.requested_time|date:"Y-m-d" }}){% endif %}
<i title="Requested by" class="bi bi-person-circle"></i> {{ session.requested_by_person.plain_name }} {% if session.requested_time %}({{ session.requested_time|date:"Y-m-d" }}){% endif %}
</div>
{% endif %}
@ -82,7 +82,7 @@
{% endif %}
{% for s in session.other_sessions %}
<div class="other-session" data-othersessionid="{{ s.pk }}"><i class="fa fa-calendar"></i> Other session <span class="time" data-scheduled="scheduled: {time}" data-notscheduled="not yet scheduled"></span></div>
<div class="other-session" data-othersessionid="{{ s.pk }}"><i class="bi bi-calendar"></i> Other session <span class="time" data-scheduled="scheduled: {time}" data-notscheduled="not yet scheduled"></span></div>
{% endfor %}
</div>
</div>

View file

@ -77,7 +77,7 @@
</div>
<div class="scheduling-panel" style="{% if not edit_timeslot_form and not add_timeslot_form %}display:none{% endif %}">
<i class="close fa fa-times pull-right"></i>
<i class="close bi bi-x pull-right"></i>
<div class="panel-content">
{% if edit_timeslot_form %}

View file

@ -30,7 +30,7 @@
{% for agenda in session.all_meeting_agendas %}
{% if session.all_meeting_agendas|length == 1 %}
{% if agenda.time > old %}
<span class="small fa fa-bell-o" title="Last Update: {{ agenda.time|utc|date:"Y-m-d H:i:s" }}&nbsp;UTC" ></span>
<span class="small bi bi-bell" title="Last Update: {{ agenda.time|utc|date:"Y-m-d H:i:s" }}&nbsp;UTC" ></span>
{% endif %}
<a href="{{ session.all_meeting_agendas.0|meeting_href:session.meeting }}">Agenda</a><br>
{% else %}
@ -75,7 +75,7 @@
{% with session.all_meeting_slides as slides %}
{% for slide in slides %}
{% if slide.time > old %}
<span class="small fa fa-bell-o" title="Last Update: {{ slide.time|utc|date:"Y-m-d H:i:s" }}&nbsp;UTC" ></span>
<span class="small bi bi-bell" title="Last Update: {{ slide.time|utc|date:"Y-m-d H:i:s" }}&nbsp;UTC" ></span>
{% endif %}
<a href="{{ slide|meeting_href:session.meeting}}">{{ slide.title|clean_whitespace }}</a>
<br>
@ -88,7 +88,7 @@
{% with session.all_meeting_drafts as drafts %}
{% for draft in drafts %}
{% if draft.time > old %}
<span class="small fa fa-bell-o" title="Last Update: {{ draft.time|utc|date:"Y-m-d H:i:s" }}&nbsp;UTC" ></span>
<span class="small bi bi-bell" title="Last Update: {{ draft.time|utc|date:"Y-m-d H:i:s" }}&nbsp;UTC" ></span>
{% endif %}
<a href="{{ draft.get_href }}">{{ draft.name }}</a><br>
{% empty %}

View file

@ -8,91 +8,81 @@
{# Note: if called with show_agenda=True, calling template must load agenda_materials.js, needed by session_agenda_include.html #}
{% include "meeting/session_agenda_include.html" with slug=item.slug session=session timeslot=item.timeslot only %}
<!-- agenda pop-up button -->
<a class="" data-toggle="modal" data-target="#modal-{{item.slug}}" title="Show meeting materials"><span class="fa fa-fw fa-arrows-alt"></span></a>
<a class="" data-toggle="modal" data-target="#modal-{{item.slug}}" title="Show meeting materials"><span class="bi bi-arrows-fullscreen"></span></a>
<!-- materials tar file -->
<a class="" href="/meeting/{{meeting.number}}/agenda/{{acronym}}-drafts.tgz" title="Download meeting materials as .tar archive"><span class="fa fa-fw fa-file-archive-o"></span></a>
<a class="" href="/meeting/{{meeting.number}}/agenda/{{acronym}}-drafts.tgz" title="Download meeting materials as .tar archive"><span class="bi bi-file-zip"></span></a>
<!-- materials PDF file -->
<a class="" href="/meeting/{{ meeting.number }}/agenda/{{acronym}}-drafts.pdf" title="Download meeting materials as PDF file"><span class="fa fa-fw fa-file-pdf-o"></span></a>
<a class="" href="/meeting/{{ meeting.number }}/agenda/{{acronym}}-drafts.pdf" title="Download meeting materials as PDF file"><span class="bi bi-file-pdf"></span></a>
{% endif %}
<!-- etherpad -->
{% if use_codimd %}
{% if item.timeslot.type.slug == 'plenary' %}
<a class="" href="https://notes.ietf.org/notes-ietf-{{ meeting.number }}-plenary" title="Notepad for note-takers"><span class="fa fa-fw fa-edit"></span></a>
<a class="" href="https://notes.ietf.org/notes-ietf-{{ meeting.number }}-plenary" title="Notepad for note-takers"><span class="bi bi-journal-text"></span></a>
{% else %}
<a class="" href="https://notes.ietf.org/notes-ietf-{{ meeting.number }}-{{acronym}}" title="Notepad for note-takers"><span class="fa fa-fw fa-edit"></span></a>
<a class="" href="https://notes.ietf.org/notes-ietf-{{ meeting.number }}-{{acronym}}" title="Notepad for note-takers"><span class="bi bi-journal-text"></span></a>
{% endif %}
{% endif %}
{# show stream buttons up till end of session, then show archive buttons #}
{% if now < item.timeslot.end_time %}
<!-- Jabber -->
<a class="" href="xmpp:{{session.jabber_room_name}}@jabber.ietf.org?join" title="Jabber room for {{session.jabber_room_name}}"><span class="fa fa-fw fa-lightbulb-o"></span></a>
<a class="" href="xmpp:{{session.jabber_room_name}}@jabber.ietf.org?join" title="Jabber room for {{session.jabber_room_name}}"><span class="bi bi-lightbulb"></span></a>
<!-- Remote call-in -->
{% if session.agenda_note|first_url|conference_url %}
<a class=""
href="{{ session.agenda_note|first_url }}"
title="Online conference"><span class="fa fa-fw fd-group"></span>
</a>
title="Online conference"><span class="bi bi-people"></span></a>
{% elif session.remote_instructions|first_url|conference_url %}
<a class=""
href="{{ session.remote_instructions|first_url }}"
title="Online conference"><span class="fa fa-fw fd-group"></span>
</a>
title="Online conference"><span class="bi bi-people"></span></a>
{% elif item.timeslot.location.webex_url %}
<a class=""
href="{{item.timeslot.location.webex_url|format:session }}"
title="Webex session"><span class="fa fa-fw fd-group"></span>
</a>
title="Webex session"><span class="bi bi-people"></span></a>
<!-- Video stream (meetecho) -->
{% elif item.timeslot.location.video_stream_url %}
<a class=""
href="{{item.timeslot.location.video_stream_url|format:session }}"
title="Meetecho video stream"><span class="fa fa-fw fa-video-camera"></span>
</a>
title="Meetecho video stream"><span class="bi bi-camera-video"></span></a>
{% else %}
<span class="">
<span class="fa fa-fw fd-group" style="color: #ddd;"
<span class="bi bi-people" style="color: #ddd;"
title="No online conference info found in remote instructions or agenda note"></span>
</span>
{% endif %}
<!-- iCalendar item -->
<a
href="{% url 'ietf.meeting.views.agenda_ical' num=meeting.number session_id=session.id %}"
title="icalendar entry for {{acronym}} session on {{item.timeslot.utc_start_time|date:'Y-m-d H:i'}} UTC">
<span class="fa fa-fw fa-calendar-o"></span>
</a>
title="icalendar entry for {{acronym}} session on {{item.timeslot.utc_start_time|date:'Y-m-d H:i'}} UTC"><span class="bi bi-calendar"></span></a>
{% else %}
<!-- Jabber -->
<a class="" href="https://www.ietf.org/jabber/logs/{{session.jabber_room_name}}?C=M;O=D" title="Jabber logs for {{session.jabber_room_name}}">
<span class="fa-stack-1"><i class="fa fa-fw fa-file-o fa-stack-1x"></i><i class="fa fa-fw fa-lightbulb-o fa-stack-sm"></i></span>
</a>
<a class="" href="https://www.ietf.org/jabber/logs/{{session.jabber_room_name}}?C=M;O=D" title="Jabber logs for {{session.jabber_room_name}}"><i class="bi bi-file-text"></i></a>
{% with session.recordings as recordings %}
{% if recordings %}
{# There's no guaranteed order, so this is a bit messy: #}
<!-- Audio -->
{% for r in recordings %}{% with href=r.get_href %}
{% if 'audio' in href %}
<a class="" href="{{ href }}" title="{{ r.title }}"><span class="fa fa-fw fa-file-audio-o"></span></a>
<a class="" href="{{ href }}" title="{{ r.title }}"><span class="bi bi-file-play"></span></a>
{% endif %}
{% endwith %}{% endfor %}
<!-- YouTube -->
{% for r in recordings %}{% with href=r.get_href %}
{% if 'youtu' in href %}
<a class="" href="{{ href }}" title="{{ r.title }}"><span class="fa fa-fw fa-file-video-o"></span></a>
<a class="" href="{{ href }}" title="{{ r.title }}"><span class="bi bi-file-slides"></span></a>
{% endif %}
{% endwith %}{% endfor %}
<!-- Any other recordings -->
{% for r in recordings %}{% with href=r.get_href %}
{% if not 'audio' in href and not 'youtu' in href %}
<a class="" href="{{ href }}" title="{{ r.title }}"><span class="fa fa-fw fa-file-o"></span></a>
<a class="" href="{{ href }}" title="{{ r.title }}"><span class="bi bi-file-play"></span></a>
{% endif %}
{% endwith %}{% endfor %}
{% elif item.timeslot.location.video_stream_url %}
<a class=""
href="http://www.meetecho.com/ietf{{meeting.number}}/recordings#{{acronym.upper}}"
title="Meetecho session recording"><span class="fd fa-fw fd-meetecho"></span></a>
title="Meetecho session recording"><span class="bi bi-file-slides"></span></a>
{% elif show_empty %}
<span class="fa fa-fw"></span>
<!-- <span class="bi"></span> -->
{% endif %}
{% endwith %}
{% endif %}

View file

@ -16,7 +16,7 @@
{{ label }}
{% if own %}
<div class="pull-right" >
<a href="{% url "ietf.meeting.views.new_meeting_schedule" num=meeting.number %}"><i class="fa fa-plus"></i> New Agenda</a>
<a href="{% url "ietf.meeting.views.new_meeting_schedule" num=meeting.number %}"><i class="bi bi-plus"></i> New Agenda</a>
</div>
{% endif %}
</div>
@ -67,12 +67,12 @@
<td>
{% if schedule.can_edit_properties %}
<a class="edit-schedule-properties" href="{% url "ietf.meeting.views.edit_schedule_properties" meeting.number schedule.owner_email schedule.name %}?next={{ request.get_full_path|urlencode }}">
<i title="Edit agenda properties" class="fa fa-edit"></i>
<i title="Edit agenda properties" class="bi bi-pencil"></i>
</a>
{% endif %}
<a href="{% url "ietf.meeting.views.edit_meeting_timeslots_and_misc_sessions" meeting.number schedule.owner_email schedule.name %}">
<i title="Show time slots and misc. sessions for agenda" class="fa fa-calendar"></i>
<i title="Show time slots and misc. sessions for agenda" class="bi bi-calendar"></i>
</a>
</td>
</tr>

View file

@ -11,19 +11,19 @@
{# Note: if called with show_agenda=True, calling template must load agenda_materials.js, needed by session_agenda_include.html #}
{% include "meeting/session_agenda_include.html" with slug=slug session=session timeslot=timeslot only %}
<!-- agenda pop-up button -->
<a class="" data-toggle="modal" data-target="#modal-{{slug}}" title="Show meeting materials"><span class="fa fa-fw fa-arrows-alt"></span></a>
<a class="" data-toggle="modal" data-target="#modal-{{slug}}" title="Show meeting materials"><span class="bi bi-arrows-fullscreen"></span></a>
<!-- materials tar file -->
<a class="" href="/meeting/{{meeting.number}}/agenda/{{acronym}}-drafts.tgz" title="Download meeting materials as .tar archive"><span class="fa fa-fw fa-file-archive-o"></span></a>
<a class="" href="/meeting/{{meeting.number}}/agenda/{{acronym}}-drafts.tgz" title="Download meeting materials as .tar archive"><span class="bi bi-file-zip"></span></a>
<!-- materials PDF file -->
<a class="" href="/meeting/{{ meeting.number }}/agenda/{{acronym}}-drafts.pdf" title="Download meeting materials as PDF file"><span class="fa fa-fw fa-file-pdf-o"></span></a>
<a class="" href="/meeting/{{ meeting.number }}/agenda/{{acronym}}-drafts.pdf" title="Download meeting materials as PDF file"><span class="bi bi-file-pdf"></span></a>
{% endif %}
<!-- HedgeDoc -->
{% if use_codimd %}
{% if timeslot.type.slug == 'plenary' %}
<a class="" href="https://notes.ietf.org/notes-ietf-{{ meeting.number }}-plenary" title="Notepad for note-takers"><span class="fa fa-fw fa-edit"></span></a>
<a class="" href="https://notes.ietf.org/notes-ietf-{{ meeting.number }}-plenary" title="Notepad for note-takers"><span class="bi bi-journal-text"></span></a>
{% else %}
<a class="" href="https://notes.ietf.org/notes-ietf-{{ meeting.number }}-{{acronym}}" title="Notepad for note-takers"><span class="fa fa-fw fa-edit"></span></a>
<a class="" href="https://notes.ietf.org/notes-ietf-{{ meeting.number }}-{{acronym}}" title="Notepad for note-takers"><span class="bi bi-journal-text"></span></a>
{% endif %}
{% endif %}
@ -32,50 +32,42 @@
<!-- Jabber -->
<a class=""
href="xmpp:{{session.jabber_room_name}}@jabber.ietf.org?join"
title="Chat room for {{session.jabber_room_name}}"><span class="fa fa-fw fa-comment-o"></span></a>
title="Chat room for {{session.jabber_room_name}}"><span class="bi bi-lightbulb"></span></a>
<!-- Video stream (meetecho) -->
{% if timeslot.location.video_stream_url %}
<a class=""
href="{{timeslot.location.video_stream_url|format:session }}"
title="Video stream"><span class="fa fa-fw fa-video-camera"></span>
</a>
title="Video stream"><span class="bi bi-camera-video"></span></a>
{% endif %}
<!-- Audio stream -->
{% if timeslot.location.audio_stream_url %}
<a class=""
href="{{timeslot.location.audio_stream_url|format:session }}"
title="Audio stream"><span class="bi bi-headphones"></span>
</a>
title="Audio stream"><span class="bi bi-headphones"></span></a>
{% endif %}
<!-- Remote call-in -->
{% if session.agenda_note|first_url|conference_url %}
<a class=""
href="{{ session.agenda_note|first_url }}"
title="Online conference"><span class="fa fa-fw fd-group"></span>
</a>
title="Online conference"><span class="bi bi-people"></span></a>
{% elif session.remote_instructions|first_url|conference_url %}
<a class=""
href="{{ session.remote_instructions|first_url }}"
title="Online conference"><span class="fa fa-fw fd-group"></span>
</a>
title="Online conference"><span class="bi bi-people"></span></a>
{% elif timeslot.location.webex_url %}
<a class=""
href="{{timeslot.location.webex_url|format:session }}"
title="Webex session"><span class="fa fa-fw fd-group"></span>
</a>
title="Webex session"><span class="bi bi-people"></span></a>
{% endif %}
<!-- iCalendar item -->
<a
href="{% url 'ietf.meeting.views.agenda_ical' num=meeting.number session_id=session.id %}"
title="icalendar entry for {{acronym}} session on {{timeslot.utc_start_time|date:'Y-m-d H:i'}} UTC">
<span class="fa fa-fw fa-calendar-o"></span>
</a>
<span class="bi bi-calendar"></span></a>
{% else %}
<!-- Jabber logs -->
{% if meeting.number|add:"0" >= 60 %}
<a class="" href="https://www.ietf.org/jabber/logs/{{session.jabber_room_name}}?C=M;O=D" title="Chat logs for {{session.jabber_room_name}}">
<span class="fa-stack-1"><i class="fa fa-fw fa-file-o fa-stack-1x"></i><i class="fa fa-fw fa-comment-o fa-stack-sm"></i></span>
</a>
<a class="" href="https://www.ietf.org/jabber/logs/{{session.jabber_room_name}}?C=M;O=D" title="Chat logs for {{session.jabber_room_name}}"><i class="bi bi-file-text"></i></a>
{% endif %}
<!-- Recordings -->
{% if meeting.number|add:"0" >= 80 %}
@ -85,19 +77,19 @@
<!-- First, the audio recordings, if any -->
{% for r in recordings %}
{% if r.get_href and 'audio' in r.get_href %}
<a class="" href="{{ r.get_href }}" title="{{ r.title}}"><span class="fa fa-fw fa-file-audio-o"></span></a>
<a class="" href="{{ r.get_href }}" title="{{ r.title}}"><span class="bi bi-file-play"></span></a>
{% endif %}
{% endfor %}
<!-- Then the youtube recordings -->
{% for r in recordings %}
{% if r.get_href and 'youtu' in r.get_href %}
<a class="" href="{{ r.get_href }}" title="{{ r.title }}"><span class="fa fa-fw fa-file-video-o"></span></a>
<a class="" href="{{ r.get_href }}" title="{{ r.title }}"><span class="bi bi-file-slides"></span></a>
{% endif %}
{% endfor %}
<!-- Finally, any other recordings -->
{% for r in recordings %}
{% if r.get_href and not 'audio' in r.get_href and not 'youtu' in r.get_href %}
<a class="" href="{{ r.get_href }}" title="{{ r.title }}"><span class="fa fa-fw fa-file-o"></span></a>
<a class="" href="{{ r.get_href }}" title="{{ r.title }}"><span class="bi bi-file-play"></span></a>
{% endif %}
{% endfor %}
{% endif %}
@ -105,10 +97,10 @@
{% if timeslot.location.video_stream_url %}
<a class=""
href="http://www.meetecho.com/ietf{{meeting.number}}/recordings#{{acronym.upper}}"
title="Session recording"><span class="fd fa-fw fd-meetecho"></span></a>
title="Session recording"><span class="bi bi-file-slides"></span></a>
{% endif %}
{% endif %}
{% endif %}
{% endwith %}
</div>
{% endwith %}{% endwith %}{% endwith %}{% endwith %}
{% endwith %}{% endwith %}{% endwith %}{% endwith %}

View file

@ -17,7 +17,7 @@
<h1>{{ meeting }} : {{ acronym }}
{% if meeting.date >= thisweek %}
<a class="regular pull-right" title="icalendar entry for {{acronym}}@{{meeting.number}}" href="{% url 'ietf.meeting.views.agenda_ical' num=meeting.number acronym=acronym %}"><span class="fa fa-fw fa-calendar"></span> </a>
<a class="regular pull-right" title="icalendar entry for {{acronym}}@{{meeting.number}}" href="{% url 'ietf.meeting.views.agenda_ical' num=meeting.number acronym=acronym %}"><span class="bi bi-calendar"></span> </a>
{% endif %}
</h1>
@ -135,4 +135,4 @@
</script>
{% endif %}
{% endblock %}
{% endblock %}

View file

@ -40,12 +40,12 @@
{% if session.agenda_note|first_url|conference_url %}
<a class=""
href="{{ session.agenda_note|first_url }}"
title="Online conference"><span class="fa fa-fw fd-group"></span>
title="Online conference"><span class="bi bi-beople"></span>
</a>
{% elif session.remote_instructions|first_url|conference_url %}
<a class=""
href="{{ session.remote_instructions|first_url }}"
title="Online conference"><span class="fa fa-fw fd-group"></span>
title="Online conference"><span class="bi bi-people"></span>
</a>
{% endif %}
{{ session.remote_instructions }}
@ -152,4 +152,4 @@
</div>
</div>
{% endwith %}
{% endfor %}
{% endfor %}

View file

@ -18,10 +18,10 @@
{% if item.session.slides %}
<h4>Slides</h4>
<ul class="fa-ul list-unstyled">
<ul class="list-unstyled">
{% for slide in item.session.slides %}
<li>
<span class="fa-li fa fa-file-{{ slide.file_extension|lower }}-o"></span>
<span class="bi bi-file-{{ slide.file_extension|lower }}-o"></span>
<a href="{{ slide.get_versionless_href }}">{{ slide.title|clean_whitespace }}</a>
</li>
{% endfor %}
@ -39,4 +39,4 @@
{% else %}
<span class="label label-warning">No minutes submitted</span>
{% endif %}
{% endwith %}
{% endwith %}

View file

@ -46,9 +46,11 @@
<div class="title-buttons col-xs-6">
<div>
<a title="iCalendar subscription for upcoming meetings" href="webcal://{{request.get_host}}{% url 'ietf.meeting.views.upcoming_ical' %}">
<span class="fa fa-stack-1"><i class="fa fa-fw fa-calendar-o fa-stack-1x"></i><i class="fa fa-fw fa-repeat fa-stack-xs"></i></span>
<i class="bi bi-share"></i>
</a>
<a title="iCalendar entry for upcoming meetings" href="{% url 'ietf.meeting.views.upcoming_ical' %}">
<i class="bi bi-calendar"></i>
</a>
<a title="iCalendar entry for upcoming meetings" href="{% url 'ietf.meeting.views.upcoming_ical' %}"><span class="fa fa-calendar"></span></a>
</div>
<div class="tz-display">
<label for="timezone-select">Time zone:</label>

View file

@ -40,7 +40,7 @@
format: "yyyy-mm-dd",
todayBtn: "linked",
todayHighlight: true
}).wrap('<div class="input-group"></div>').parent().prepend('<span class="input-group-addon"><span class="fa fa-calendar"></span></span>');
}).wrap('<div class="input-group"></div>').parent().prepend('<span class="input-group-addon"><span class="bi bi-calendar"></span></span>');
</script>
{% endblock %}

View file

@ -120,7 +120,7 @@
id="nominee-position-table">
<thead>
<tr>
{% if is_chair and nomcom.group.state_id == 'active' %}<th colspan="2"><span class="fa fa-check"></span></th>{% endif %}
{% if is_chair and nomcom.group.state_id == 'active' %}<th colspan="2"><span class="bi bi-check"></span></th>{% endif %}
<th colspan="2">Nominee</th>
<th>Position</th>
<th>State</th>

View file

@ -36,8 +36,8 @@
{% block js %}
<script>
$('.collapse').collapse()
$('.generic_iesg_reqs_header').addClass('fa')
$('.generic_iesg_reqs_header').addClass('fa-caret-right')
$('.generic_iesg_reqs_header').addClass('bi')
$('.generic_iesg_reqs_header').addClass('bi-caret-right')
$('.generic_iesg_reqs_header').each(function(){
this.text = ' '+this.text+' (click to expand)'
})

View file

@ -32,7 +32,7 @@
<table class="table table-sm table-striped">
<thead>
<tr>
<th><span class="fa fa-check"></span></th>
<th><span class="bi bi-check"></span></th>
<th>Nominee</th>
<th>Positions</th>
</tr>

View file

@ -3,7 +3,7 @@
<a {% if title %}title="{{ title }}"{% endif %} href="{% url 'ietf.person.views.profile' email_or_name=email %}">
<span class="{{class}}">{{ plain_name }}</span>
</a>&nbsp;<a href="mailto:{{ email|urlencode }}">
<span class="fa fa-envelope-o tiny"></span>
<span class="bi bi-envelope tiny"></span>
</a>
{% elif name %}
<a {% if title %}title="{{ title }}"{% endif %} href="{% url 'ietf.person.views.profile' email_or_name=name %}">

View file

@ -34,7 +34,7 @@
<div class="col-sm-10">
<p class="form-control-static">
{{ user.username }}
&nbsp;<a href="/accounts/username/"><span class="fa fa-pencil"></span></a>
&nbsp;<a href="/accounts/username/"><span class="bi bi-pencil"></span></a>
</p>
</div>
@ -46,7 +46,7 @@
<p class="form-control-static">
<a href="/accounts/password/">Password change form</a>
&nbsp;<a href="/accounts/password/"><span class="fa fa-pencil"></span></a>
&nbsp;<a href="/accounts/password/"><span class="bi bi-pencil"></span></a>
</p>
</div>
</div>
@ -103,11 +103,11 @@
<span title="{{ extres.name.name}}">{% firstof extres.display_name extres.name.name %}</span>
</div>
<div class="col-sm-11">{{extres.value}}
{% if forloop.first %}&nbsp;<a href="{% url 'ietf.ietfauth.views.edit_person_externalresources' %}"><span class="fa fa-pencil"></span></a>{% endif %}
{% if forloop.first %}&nbsp;<a href="{% url 'ietf.ietfauth.views.edit_person_externalresources' %}"><span class="bi bi-pencil"></span></a>{% endif %}
</div>
</div>
{% empty %}
<div class="row"><div class="col-sm-1">None&nbsp;<a href="{% url 'ietf.ietfauth.views.edit_person_externalresources' %}"><span class="fa fa-pencil"></span></a></div></div>
<div class="row"><div class="col-sm-1">None&nbsp;<a href="{% url 'ietf.ietfauth.views.edit_person_externalresources' %}"><span class="bi bi-pencil"></span></a></div></div>
{% endfor %}
</div>
</div>

View file

@ -19,15 +19,15 @@
<a href="https://trac.ietf.org/trac/ietfdb/browser/tags/{{entry.version}}">
Version {{ entry.version }}</a>
<br><small>Released {{ entry.date }}</small>
<div class="pull-right"><a href="{% url "ietf.release.views.stats" %}" class="icon-link">&nbsp;<span class="small fa fa-bar-chart">&nbsp;</span></a></div>
<div class="pull-right"><a href="{% url "ietf.release.views.stats" %}" class="icon-link">&nbsp;<span class="small bi bi-bar-chart-line">&nbsp;</span></a></div>
</h1>
<ul class="pager">
<li class="previous {% if not entry.prev %}disabled{% endif %}">
<a href="{% if entry.prev %}/release/{{entry.prev.version}}/{% else %}#{% endif %}"><span class="fa fa-long-arrow-left"></span> Previous release</a>
<a href="{% if entry.prev %}/release/{{entry.prev.version}}/{% else %}#{% endif %}"><span class="bi bi-arrow-left"></span> Previous release</a>
</li>
<li class="next {% if not entry.next %}disabled{% endif %}">
<a href="{% if entry.next %}/release/{{entry.next.version}}/{% else %}#{% endif %}">Next release <span class="fa fa-long-arrow-right"></span></a>
<a href="{% if entry.next %}/release/{{entry.next.version}}/{% else %}#{% endif %}">Next release <span class="bi bi-arrow-right"></span></a>
</li>
</ul>

View file

@ -2,7 +2,7 @@
{% for file in files %}
{% if file.exists %}
<a class="btn btn-primary btn-xs" href="{{ file.url }}" target="_blank">
<span class="fa fa-file-{% if file.ext == "txt" %}text-o{% elif file.ext == "xml" %}code-o{% elif file.ext == "pdf" %}pdf-o{% else %}o{% endif %}"></span>
<span class="bi bi-file-{% if file.ext == "txt" %}text-o{% elif file.ext == "xml" %}code-o{% elif file.ext == "pdf" %}pdf-o{% else %}o{% endif %}"></span>
{{ file.ext }}
</a>
{% endif %}

View file

@ -42,7 +42,7 @@
{% csrf_token %}
<div class="form-group">
{% bootstrap_field form.xml label='<i class="fa fw-fw fa-file-code-o" aria-hidden="true"></i> XML source of the I-D' %}
{% bootstrap_field form.xml label='<i class="bi bi-file-code" aria-hidden="true"></i> XML source of the I-D' %}
<p class="help-block">
Preferably, submit a standalone
<a href="{% url 'ietf.doc.views_doc.document_html' name='rfc7991' %}">xml2rfc version 3</a>
@ -64,7 +64,7 @@
</div>
<div class="collapse" id="other-formats">
<div class="form-group">
{% bootstrap_field form.txt label='<i class="fa fw-fw fa-file-text-o" aria-hidden="true"></i> Plaintext rendering of the I-D'%}
{% bootstrap_field form.txt label='<i class="bi bi-file-text" aria-hidden="true"></i> Plaintext rendering of the I-D'%}
<p class="help-block">
Optional to submit, will be auto-generated based
on the submitted XML.
@ -74,7 +74,7 @@
</div>
<div class="form-group">
{% bootstrap_field form.pdf label='<i class="fa fw-fw fa-file-pdf-o" aria-hidden="true"></i> PDF rendering of the I-D'%}
{% bootstrap_field form.pdf label='<i class="bi bi-file-pdf" aria-hidden="true"></i> PDF rendering of the I-D'%}
<p class="help-block">
Optional to submit, will be auto-generated based
on the submitted XML.