From cb411cc3be1a415912d5a15725727b6335754672 Mon Sep 17 00:00:00 2001 From: Jim Ladd Date: Wed, 14 Aug 2019 10:25:25 -0700 Subject: [PATCH] Add messages field --- awx/api/serializers.py | 3 ++- ..._v360_add_notificationtemplate_messages.py | 25 +++++++++++++++++++ awx/main/models/notifications.py | 6 +++++ .../tests/functional/test_notifications.py | 2 ++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 awx/main/migrations/0083_v360_add_notificationtemplate_messages.py diff --git a/awx/api/serializers.py b/awx/api/serializers.py index bc35ed4710..3e2067f6b5 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -4125,7 +4125,8 @@ class NotificationTemplateSerializer(BaseSerializer): class Meta: model = NotificationTemplate - fields = ('*', 'organization', 'notification_type', 'notification_configuration') + fields = ('*', 'organization', 'notification_type', 'notification_configuration', 'messages') + type_map = {"string": (str,), "int": (int,), diff --git a/awx/main/migrations/0083_v360_add_notificationtemplate_messages.py b/awx/main/migrations/0083_v360_add_notificationtemplate_messages.py new file mode 100644 index 0000000000..d0024440c7 --- /dev/null +++ b/awx/main/migrations/0083_v360_add_notificationtemplate_messages.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.20 on 2019-06-10 16:56 +from __future__ import unicode_literals + +from django.db import migrations, models + +import awx.main.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0082_v360_webhook_http_method'), + ] + + operations = [ + migrations.AddField( + model_name='notificationtemplate', + name='messages', + field=awx.main.fields.JSONField(default=dict, + help_text='Optional custom messages for notification template.', + null=True, + blank=True), + ), + ] diff --git a/awx/main/models/notifications.py b/awx/main/models/notifications.py index fc99caf37c..f916c8f31f 100644 --- a/awx/main/models/notifications.py +++ b/awx/main/models/notifications.py @@ -68,6 +68,12 @@ class NotificationTemplate(CommonModelNameNotUnique): notification_configuration = JSONField(blank=False) + messages = JSONField( + null=True, + blank=True, + default=dict, + help_text=_('Optional custom messages for notification template.')) + def get_absolute_url(self, request=None): return reverse('api:notification_template_detail', kwargs={'pk': self.pk}, request=request) diff --git a/awx/main/tests/functional/test_notifications.py b/awx/main/tests/functional/test_notifications.py index 308e52c2c7..4059d0b9a9 100644 --- a/awx/main/tests/functional/test_notifications.py +++ b/awx/main/tests/functional/test_notifications.py @@ -42,6 +42,8 @@ def test_basic_parameterization(get, post, user, organization): assert 'notification_configuration' in response.data assert 'url' in response.data['notification_configuration'] assert 'headers' in response.data['notification_configuration'] + assert 'messages' in response.data + assert response.data['messages'] == {'started': None, 'success': None, 'error': None} @pytest.mark.django_db