Mailing: Add support for a from field
Add support to the mailing profiles for specifying a "from" address. Closes GitLab issue #522. This commit adds a new backend class property "class_fields" which differs from the normal "fields" property. The "class_fields" property specifies which of the backend fields will be used to initialize a backend's driver class. This is to avoid passing fields that the driver doesn't expect and getting an error. When sending emails, the "send" method will attempt to get a "from" key from the backend data and use that when sending emails. If no "from" key is found a None is passes. Django's behavior in this situation dictates that the "from" value will then be taken from the DEFAULT_FROM_EMAIL setting. Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
@@ -48,6 +48,11 @@ class MailerBackendBase(object):
|
||||
class_path = '' # Dot path to the actual class that will handle the mail
|
||||
fields = {}
|
||||
|
||||
@classmethod
|
||||
def get_class_fields(cls):
|
||||
backend_field_list = getattr(cls, 'fields', {}).keys()
|
||||
return getattr(cls, 'class_fields', backend_field_list)
|
||||
|
||||
|
||||
class MailerBackend(six.with_metaclass(MailerBackendMetaclass, MailerBackendBase)):
|
||||
@classmethod
|
||||
|
||||
Reference in New Issue
Block a user