Change serializer to take in init paramdefault value

This commit is contained in:
beeankha 2019-03-21 15:22:34 -04:00
parent c9ac805eed
commit 3e13eff7f4
2 changed files with 7 additions and 11 deletions

View File

@ -4618,12 +4618,15 @@ class NotificationTemplateSerializer(BaseSerializer):
object_actual = self.context['view'].get_object()
else:
object_actual = None
for field in notification_class.init_parameters:
for field, params in notification_class.init_parameters.items():
if field not in attrs['notification_configuration']:
missing_fields.append(field)
if 'default' in params:
attrs['notification_configuration'][field] = params['default']
else:
missing_fields.append(field)
continue
field_val = attrs['notification_configuration'][field]
field_type = notification_class.init_parameters[field]['type']
field_type = params['type']
expected_types = self.type_map[field_type]
if not type(field_val) in expected_types:
incorrect_type_fields.append((field, field_type))

View File

@ -18,17 +18,10 @@ class CustomEmailBackend(EmailBackend):
"use_ssl": {"label": "Use SSL", "type": "bool"},
"sender": {"label": "Sender Email", "type": "string"},
"recipients": {"label": "Recipient List", "type": "list"},
"timeout": {"label": "Timeout", "type": "int"}}
"timeout": {"label": "Timeout", "type": "int", "default": 30}}
recipient_parameter = "recipients"
sender_parameter = "sender"
def __init__(self, timeout=None, **kwargs):
self.timeout = timeout
if timeout is None:
self.timeout == 30
if not (1 <= timeout <= 120):
raise ValueError("Email timeout range needs to be between 1 and 120 seconds")
return super(CustomEmailBackend, self).__init__(timeout, **kwargs)
def format_body(self, body):
if "body" in body: