From 2a7a7e0272d9a76f56302f55add0172d10ba8afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C4=93teris=20Caune?= Date: Sat, 26 Aug 2017 19:04:00 +0300 Subject: [PATCH] Show "The HipChat integration has been added!" message, tweaks to HipChat setup instructions. --- hc/front/tests/test_channels.py | 7 +++++ hc/front/views.py | 16 ++++------- static/img/integrations/setup_hipchat_4.png | Bin 0 -> 34055 bytes templates/front/channels.html | 7 ++++- templates/integrations/add_hipchat.html | 30 ++++++++++++++------ 5 files changed, 40 insertions(+), 20 deletions(-) create mode 100644 static/img/integrations/setup_hipchat_4.png diff --git a/hc/front/tests/test_channels.py b/hc/front/tests/test_channels.py index ab194d30..e6f9ac73 100644 --- a/hc/front/tests/test_channels.py +++ b/hc/front/tests/test_channels.py @@ -47,3 +47,10 @@ class ChannelsTestCase(BaseTestCase): self.assertEqual(r.status_code, 200) self.assertContains(r, "fake-key") self.assertContains(r, "(normal priority)") + + def test_it_shows_added_message(self): + self.client.login(username="alice@example.org", password="password") + r = self.client.get("/integrations/?added=hipchat") + + self.assertEqual(r.status_code, 200) + self.assertContains(r, "The HipChat integration has been added!") diff --git a/hc/front/views.py b/hc/front/views.py index 6eb24d85..dee951c0 100644 --- a/hc/front/views.py +++ b/hc/front/views.py @@ -1,6 +1,5 @@ from collections import Counter from datetime import datetime, timedelta as td -from itertools import tee import json from croniter import croniter @@ -11,7 +10,7 @@ from django.contrib.auth.decorators import login_required from django.core import signing from django.db.models import Count from django.http import (Http404, HttpResponse, HttpResponseBadRequest, - HttpResponseForbidden, JsonResponse) + HttpResponseForbidden) from django.shortcuts import get_object_or_404, redirect, render from django.template.loader import render_to_string from django.urls import reverse @@ -34,14 +33,6 @@ from pytz.exceptions import UnknownTimeZoneError import requests -# from itertools recipes: -def pairwise(iterable): - "s -> (s0,s1), (s1,s2), (s2, s3), ..." - a, b = tee(iterable) - next(b, None) - return zip(a, b) - - @login_required def my_checks(request): q = Check.objects.filter(user=request.team.user).order_by("created") @@ -140,6 +131,7 @@ def docs_api(request): return render(request, "front/docs_api.html", ctx) + def docs_cron(request): ctx = {"page": "docs", "section": "cron"} return render(request, "front/docs_cron.html", ctx) @@ -358,8 +350,10 @@ def channels(request): "enable_pushover": settings.PUSHOVER_API_TOKEN is not None, "enable_discord": settings.DISCORD_CLIENT_ID is not None, "enable_telegram": settings.TELEGRAM_TOKEN is not None, - "enable_sms": settings.TWILIO_AUTH is not None + "enable_sms": settings.TWILIO_AUTH is not None, + "added": request.GET.get("added") } + return render(request, "front/channels.html", ctx) diff --git a/static/img/integrations/setup_hipchat_4.png b/static/img/integrations/setup_hipchat_4.png new file mode 100644 index 0000000000000000000000000000000000000000..7739605227aec9ebfe175fe6db28acf12e4d822c GIT binary patch literal 34055 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 -{% if messages %} +{% if messages or added %}

{% for message in messages %}

{{ message }}

{% endfor %} + {% if added == "hipchat" %} +

+ The HipChat integration has been added! +

+ {% endif %}
{% endif %} diff --git a/templates/integrations/add_hipchat.html b/templates/integrations/add_hipchat.html index 5f8f7f80..3ef2c213 100644 --- a/templates/integrations/add_hipchat.html +++ b/templates/integrations/add_hipchat.html @@ -61,7 +61,7 @@
- 2 + 1

After {% if request.user.is_authenticated %}{% else %}logging in and{% endif %} clicking on "Install HipChat Integration", you will be @@ -78,7 +78,7 @@

- 3 + 2

Next, HipChat will let you select the chat room for receiving {% site_name %} notifications. @@ -94,14 +94,11 @@

- 4 + 3

- As the final step, HipChat will show you the permissions + Next, HipChat will show you the permissions requested by {% site_name %}. There's only one permission - needed–"Send Notification". After clicking on "Approve" - you will be redirected back to - "Integrations" page on {% site_name %} and see - the new integration! + needed: "Send Notification".

@@ -112,6 +109,23 @@
+
+
+ 4 +

+ That is all! You will now be redirected back to + "Integrations" page on {% site_name %} and see + the new integration! +

+
+
+ Screenshot +
+
+
{% endblock %}