From 926a3b9d515a7995cb36d2259729851d0c5cfb4d Mon Sep 17 00:00:00 2001 From: FoxMaSk Date: Fri, 27 Oct 2017 14:38:21 +0200 Subject: [PATCH] messages improvements --- .../templates/services/delete_service.html | 9 +++++--- django_th/tests/test_views.py | 21 ++++++++++++++----- django_th/views_fbv.py | 12 +++++++---- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/django_th/templates/services/delete_service.html b/django_th/templates/services/delete_service.html index a394ff2..1f50d5d 100644 --- a/django_th/templates/services/delete_service.html +++ b/django_th/templates/services/delete_service.html @@ -5,9 +5,12 @@ {% block title %}{% trans "My Services" %} - {{ user.username }}{% endblock %} {% block content %}
-

{% trans 'Deletion of your service' %}

+

{% trans 'Deletion of your service' %} {{ userservice.name|service_readable }}

- {% trans "Are your sure you want to remove this service ?" %} : {{ userservice.name|service_readable }} + {% blocktrans %} + Are you sure you want to remove this service ?

+ Be careful, If you reply Yes, all the related triggers will be deleted too + {% endblocktrans %}
{% csrf_token %} @@ -17,4 +20,4 @@

{% trans 'Deletion of your service' %}

-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/django_th/tests/test_views.py b/django_th/tests/test_views.py index 5468fd8..33e970f 100644 --- a/django_th/tests/test_views.py +++ b/django_th/tests/test_views.py @@ -1,8 +1,10 @@ # coding: utf-8 +import django.contrib.messages from django.core.cache import caches +from django.shortcuts import reverse from django.test import RequestFactory, Client -from django_th.models import TriggerService +from django_th.models import TriggerService, UserService from django_th.views import TriggerEditedTemplateView from django_th.views import TriggerDeletedTemplateView, TriggerListView, TriggerUpdateView from django_th.views_fbv import can_modify_trigger, trigger_on_off, \ @@ -14,6 +16,7 @@ import unittest import uuid +from unittest.mock import patch cache = caches['django_th'] @@ -122,13 +125,21 @@ def test_fire_trigger(self): response = fire_trigger(self.request, 1) self.assertTrue(response.status_code, 200) - def test_service_related_triggers_switch_to(self): - user_service_id = 1 - response = service_related_triggers_switch_to(self.request, + @patch.object(django.contrib.messages, 'warning') + def test_service_related_triggers_switch_to(self, mock): + request = RequestFactory().get(reverse('delete_service')) + + trigger = self.create_triggerservice() + user_service_id = UserService.objects.get(id=trigger.consumer.id).id + + response = service_related_triggers_switch_to(request, user_service_id, 'off') + mock.assert_called() self.assertEqual(response.status_code, 302) - response = service_related_triggers_switch_to(self.request, + + response = service_related_triggers_switch_to(request, user_service_id, 'on') + mock.assert_called() self.assertEqual(response.status_code, 302) def test_trigger_switch_all_to(self): diff --git a/django_th/views_fbv.py b/django_th/views_fbv.py index d605e9d..85e8e5e 100644 --- a/django_th/views_fbv.py +++ b/django_th/views_fbv.py @@ -2,18 +2,19 @@ from __future__ import unicode_literals import arrow # django +from django.conf import settings +from django.contrib import messages +from django.contrib.auth import logout from django.core.cache import caches from django.core import management -from django.conf import settings +from django.http import HttpResponseRedirect from django.shortcuts import render, redirect, get_object_or_404 -from django.contrib.auth import logout from django.utils.translation import ugettext as _ -from django.http import HttpResponseRedirect from django.urls import reverse # django_th from django_th.tools import get_service -from django_th.models import TriggerService, ServicesActivated +from django_th.models import TriggerService, ServicesActivated, UserService cache = caches['django_th'] @@ -134,6 +135,9 @@ def service_related_triggers_switch_to(request, user_service_id, switch): TriggerService.objects.filter(consumer__id=user_service_id).update( status=status) + service = UserService.objects.get(id=user_service_id).name.name.split('Service')[1] + messages.warning(request, _('All triggers of %s are now %s') % (service, switch)) + return HttpResponseRedirect(reverse('user_services'))