Implement notification serializer and validations

This commit is contained in:
Matthew Jones
2016-02-04 11:31:34 -05:00
parent 172207cd4b
commit 319deffc18
2 changed files with 22 additions and 1 deletions

View File

@@ -2035,6 +2035,21 @@ class JobLaunchSerializer(BaseSerializer):
attrs = super(JobLaunchSerializer, self).validate(attrs)
return attrs
class NotificationTemplateSerializer(BaseSerializer):
class Meta:
model = NotificationTemplate
fields = ('*', 'notification_type', 'notification_configuration')
def validate(self, attrs):
notification_class = NotificationTemplate.CLASS_FOR_NOTIFICATION_TYPE[attrs['notification_type']]
missing_fields = []
for field in notification_class.init_parameters:
if field not in attrs['notification_configuration']:
missing_fields.append(field)
if missing_fields:
raise serializers.ValidationError("Missing required fields for Notification Configuration: {}".format(missing_fields))
return attrs
class ScheduleSerializer(BaseSerializer):