From 29e016d0fccb9bfba298e2870d6ce421f1cf5ca8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C4=93teris=20Caune?= Date: Thu, 27 Feb 2020 15:52:00 +0200 Subject: [PATCH] Update Telegram instructions. Fix redirect after login when adding Telegram integration. --- CHANGELOG.md | 1 + hc/accounts/views.py | 10 ++++++++-- hc/front/tests/test_add_telegram.py | 7 +++++++ hc/front/urls.py | 1 + hc/front/views.py | 14 +++++++++++++- static/img/integrations/setup_telegram_3.png | Bin 26356 -> 36004 bytes templates/integrations/add_slack_btn.html | 2 +- templates/integrations/add_telegram.html | 9 +++++---- 8 files changed, 36 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 71a1cf03..c2c67538 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ All notable changes to this project will be documented in this file. - API security: check channel ownership when setting check's channels - API: update check's "alert_after" field when changing schedule - API: validate channel identifiers before creating/updating a check (#335) +- Fix redirect after login when adding Telegram integration ## v1.13.0 - 2020-02-13 diff --git a/hc/accounts/views.py b/hc/accounts/views.py index 5f146bec..2b3ffe89 100644 --- a/hc/accounts/views.py +++ b/hc/accounts/views.py @@ -1,4 +1,5 @@ from datetime import timedelta as td +from urllib.parse import urlparse import uuid from django.conf import settings @@ -42,12 +43,17 @@ NEXT_WHITELIST = ( "hc-p-channels", "hc-add-slack", "hc-add-pushover", + "hc-add-telegram", ) -def _is_whitelisted(path): +def _is_whitelisted(redirect_url): + if not redirect_url: + return False + + parsed = urlparse(redirect_url) try: - match = resolve(path) + match = resolve(parsed.path) except Resolver404: return False diff --git a/hc/front/tests/test_add_telegram.py b/hc/front/tests/test_add_telegram.py index 35c1014b..bd299668 100644 --- a/hc/front/tests/test_add_telegram.py +++ b/hc/front/tests/test_add_telegram.py @@ -34,6 +34,13 @@ class AddTelegramTestCase(BaseTestCase): self.assertEqual(c.telegram_name, "My Group") self.assertEqual(c.project, self.project) + def test_it_handles_bad_signature(self): + self.client.login(username="alice@example.org", password="password") + r = self.client.get(self.url + "?bad-signature") + self.assertContains(r, "Incorrect Link") + + self.assertFalse(Channel.objects.exists()) + @patch("hc.api.transports.requests.request") def test_it_sends_invite(self, mock_get): data = { diff --git a/hc/front/urls.py b/hc/front/urls.py index 6cd7e229..4ade6bf9 100644 --- a/hc/front/urls.py +++ b/hc/front/urls.py @@ -30,6 +30,7 @@ channel_urls = [ ), path("add_discord/", views.add_discord_complete, name="hc-add-discord-complete"), path("add_pushover/", views.add_pushover_help), + path("telegram/", views.add_telegram_help), path("telegram/bot/", views.telegram_bot, name="hc-telegram-webhook"), path("add_pdc/", views.add_pdc_help), path("add_slack/", views.add_slack_help), diff --git a/hc/front/views.py b/hc/front/views.py index 23a5640f..e399326b 100644 --- a/hc/front/views.py +++ b/hc/front/views.py @@ -1398,12 +1398,24 @@ def telegram_bot(request): return HttpResponse() +def add_telegram_help(request): + ctx = { + "page": "channels", + "bot_name": settings.TELEGRAM_BOT_NAME, + } + + return render(request, "integrations/add_telegram.html", ctx) + + @login_required def add_telegram(request): chat_id, chat_type, chat_name = None, None, None qs = request.META["QUERY_STRING"] if qs: - chat_id, chat_type, chat_name = signing.loads(qs, max_age=600) + try: + chat_id, chat_type, chat_name = signing.loads(qs, max_age=600) + except signing.BadSignature: + return render(request, "bad_link.html") if request.method == "POST": project = _get_project_for_user(request, request.POST.get("project")) diff --git a/static/img/integrations/setup_telegram_3.png b/static/img/integrations/setup_telegram_3.png index f334d4b959ac80a45fb16213379b4ee936260761..2523b404228a12d8db853d9184c823089ea9fca3 100644 GIT binary patch literal 36004 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

&eg4oXKg|+FlhDRVcO0-@!efeMMVweEE0xk)G#E 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 DXa2lk diff --git a/templates/integrations/add_slack_btn.html b/templates/integrations/add_slack_btn.html index 67c3c234..aab04424 100644 --- a/templates/integrations/add_slack_btn.html +++ b/templates/integrations/add_slack_btn.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% load humanize static hc_extras %} -{% block title %}Add Slack - {% site_name %}{% endblock %} +{% block title %}Slack Integration for {% site_name %}{% endblock %} {% block content %}

diff --git a/templates/integrations/add_telegram.html b/templates/integrations/add_telegram.html index 750751d2..17c23517 100644 --- a/templates/integrations/add_telegram.html +++ b/templates/integrations/add_telegram.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% load compress humanize static hc_extras %} -{% block title %}Notification Channels - {% site_name %}{% endblock %} +{% block title %}Telegram Integration for {% site_name %}{% endblock %} {% block content %} @@ -23,8 +23,7 @@

-

Integration Settings

- +

Integration Settings

{% csrf_token %}
@@ -98,7 +97,9 @@

Click or tap on the confirmation link, and {% site_name %} will open in a browser window asking you to confirm the new integration.

-

Confirm the integration, and it's done!

+

Select the project you want the Telegram integration added to, + click on "Connect Telegram", and it's done!

+