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