mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-23 15:56:45 -04:00
[WIP] need to fix the tests
This commit is contained in:
@@ -109,13 +109,14 @@ def send_email_to_provider(notification):
|
||||
else:
|
||||
from_address = '"{}" <{}@{}>'.format(service.name, service.email_from,
|
||||
current_app.config['NOTIFY_EMAIL_DOMAIN'])
|
||||
|
||||
reference = provider.send_email(
|
||||
from_address,
|
||||
notification.to,
|
||||
plain_text_email.subject,
|
||||
body=str(plain_text_email),
|
||||
html_body=str(html_email),
|
||||
reply_to_address=service.reply_to_email_address,
|
||||
reply_to_address=service.get_default_reply_to_email_address(),
|
||||
)
|
||||
notification.reference = reference
|
||||
update_notification(notification, provider)
|
||||
|
||||
@@ -201,7 +201,7 @@ class Service(db.Model, Versioned):
|
||||
email_from = db.Column(db.Text, index=False, unique=True, nullable=False)
|
||||
created_by = db.relationship('User')
|
||||
created_by_id = db.Column(UUID(as_uuid=True), db.ForeignKey('users.id'), index=True, nullable=False)
|
||||
reply_to_email_address = db.Column(db.Text, index=False, unique=False, nullable=True)
|
||||
_reply_to_email_address = db.Column("reply_to_email_address", db.Text, index=False, unique=False, nullable=True)
|
||||
letter_contact_block = db.Column(db.Text, index=False, unique=False, nullable=True)
|
||||
sms_sender = db.Column(db.String(11), nullable=False, default=lambda: current_app.config['FROM_NUMBER'])
|
||||
organisation_id = db.Column(UUID(as_uuid=True), db.ForeignKey('organisation.id'), index=True, nullable=True)
|
||||
@@ -249,6 +249,13 @@ class Service(db.Model, Versioned):
|
||||
else:
|
||||
return self.sms_sender
|
||||
|
||||
def get_default_reply_to_email_address(self):
|
||||
default_reply_to = [x for x in self.reply_to_email_addresses if x.is_default]
|
||||
if len(default_reply_to) > 1:
|
||||
raise Exception("There should only ever be one default")
|
||||
else:
|
||||
return default_reply_to[0].email_address if default_reply_to else None
|
||||
|
||||
|
||||
class InboundNumber(db.Model):
|
||||
__tablename__ = "inbound_numbers"
|
||||
|
||||
@@ -182,6 +182,7 @@ class ServiceSchema(BaseSchema):
|
||||
dvla_organisation = field_for(models.Service, 'dvla_organisation')
|
||||
permissions = fields.Method("service_permissions")
|
||||
override_flag = False
|
||||
reply_to_email_address = fields.Method("get_reply_to_email_address")
|
||||
|
||||
def get_free_sms_fragment_limit(selfs, service):
|
||||
return service.free_sms_fragment_limit()
|
||||
@@ -189,6 +190,9 @@ class ServiceSchema(BaseSchema):
|
||||
def service_permissions(self, service):
|
||||
return [p.permission for p in service.permissions]
|
||||
|
||||
def get_reply_to_email_address(self, service):
|
||||
return service.get_default_reply_to_email_address()
|
||||
|
||||
class Meta:
|
||||
model = models.Service
|
||||
dump_only = ['free_sms_fragment_limit']
|
||||
|
||||
Reference in New Issue
Block a user