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>
26 lines
621 B
Python
26 lines
621 B
Python
from __future__ import unicode_literals
|
|
|
|
import json
|
|
|
|
from ..models import UserMailer
|
|
|
|
from .literals import (
|
|
TEST_EMAIL_FROM_ADDRESS, TEST_USER_MAILER_BACKEND_PATH,
|
|
TEST_USER_MAILER_LABEL
|
|
)
|
|
|
|
|
|
class MailerTestMixin(object):
|
|
def _create_user_mailer(self):
|
|
self.user_mailer = UserMailer.objects.create(
|
|
default=True,
|
|
enabled=True,
|
|
label=TEST_USER_MAILER_LABEL,
|
|
backend_path=TEST_USER_MAILER_BACKEND_PATH,
|
|
backend_data=json.dumps(
|
|
{
|
|
'from': TEST_EMAIL_FROM_ADDRESS
|
|
}
|
|
)
|
|
)
|