From 521148089511f42594a6bcfc7d8b3ff6275cba66 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Fri, 13 Mar 2020 14:01:54 +0000 Subject: [PATCH] Added code to show a call-in button on the agenda page if the session agenda-note contains and IETF webex URL. - Legacy-Id: 17427 --- ietf/templates/meeting/agenda.html | 4 +++- ietf/templates/meeting/session_buttons_include.html | 9 +++++++-- ietf/utils/templatetags/textfilters.py | 10 +++++++++- 3 files changed, 19 insertions(+), 4 deletions(-) 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