diff --git a/ietf/templates/meeting/agenda.html b/ietf/templates/meeting/agenda.html
index be2f3cb0f..960ea2186 100644
--- a/ietf/templates/meeting/agenda.html
+++ b/ietf/templates/meeting/agenda.html
@@ -320,7 +320,9 @@
CANCELLED
{% endif %}
- {% if item.session.agenda_note %}
+ {% if item.session.agenda_note|first_url %}
+
{{item.session.agenda_note|slice:":23"}}
+ {% elif item.session.agenda_note %}
{{item.session.agenda_note}}
{% endif %}
diff --git a/ietf/templates/meeting/session_buttons_include.html b/ietf/templates/meeting/session_buttons_include.html
index 1af9ce4fb..12ad1a4c9 100644
--- a/ietf/templates/meeting/session_buttons_include.html
+++ b/ietf/templates/meeting/session_buttons_include.html
@@ -24,7 +24,12 @@
href="xmpp:{{item.session.jabber_room_name}}@jabber.ietf.org?join"
title="Jabber room for {{item.session.jabber_room_name}}">
-
+ {% if "https://ietf.webex.com" in item.session.agenda_note|first_url %}
+
+
+ {% else %}
{% if item.timeslot.location.video_stream_url %}
{% endif %}
-
+ {% endif %}
{% else %}
diff --git a/ietf/utils/templatetags/textfilters.py b/ietf/utils/templatetags/textfilters.py
index ad4d6cb64..752ce5899 100644
--- a/ietf/utils/templatetags/textfilters.py
+++ b/ietf/utils/templatetags/textfilters.py
@@ -1,9 +1,10 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
+import re
import bleach
from django import template
@@ -78,3 +79,10 @@ def texescape_filter(value):
def linkify(value):
text = mark_safe(bleach.linkify(escape(value)))
return text
+
+@register.filter
+@stringfilter
+def first_url(value):
+ urls = re.findall(r"http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+", value)
+ url = urls[0] if urls else None
+ return url