Expose mail handler and template paths in email config page
This commit is contained in:
parent
e1685231c2
commit
93b03c9562
|
@ -3,6 +3,24 @@
|
|||
|
||||
<%def name="form_content()">
|
||||
|
||||
<h3 class="block is-size-3">General</h3>
|
||||
<div class="block" style="padding-left: 2rem;">
|
||||
<b-field label="Mail Handler"
|
||||
message="Leave blank for default handler.">
|
||||
<b-input name="rattail.mail.handler"
|
||||
v-model="simpleSettings['rattail.mail.handler']"
|
||||
@input="settingsNeedSaved = true">
|
||||
</b-input>
|
||||
</b-field>
|
||||
<b-field label="Template Paths"
|
||||
message="Leave blank for default paths.">
|
||||
<b-input name="rattail.mail.templates"
|
||||
v-model="simpleSettings['rattail.mail.templates']"
|
||||
@input="settingsNeedSaved = true">
|
||||
</b-input>
|
||||
</b-field>
|
||||
</div>
|
||||
|
||||
<h3 class="block is-size-3">Sending</h3>
|
||||
<div class="block" style="padding-left: 2rem;">
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
################################################################################
|
||||
#
|
||||
# Rattail -- Retail Software Framework
|
||||
# Copyright © 2010-2022 Lance Edgar
|
||||
# Copyright © 2010-2023 Lance Edgar
|
||||
#
|
||||
# This file is part of Rattail.
|
||||
#
|
||||
|
@ -24,13 +24,9 @@
|
|||
Email Views
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
|
||||
import re
|
||||
import warnings
|
||||
|
||||
import six
|
||||
|
||||
from rattail import mail
|
||||
from rattail.db import model
|
||||
from rattail.config import parse_list
|
||||
|
@ -105,7 +101,7 @@ class EmailSettingView(MasterView):
|
|||
emails = self.email_handler.get_all_emails()
|
||||
else:
|
||||
emails = self.email_handler.get_available_emails()
|
||||
for key, Email in six.iteritems(emails):
|
||||
for key, Email in emails.items():
|
||||
email = Email(self.rattail_config, key)
|
||||
data.append(self.normalize(email))
|
||||
return data
|
||||
|
@ -266,9 +262,9 @@ class EmailSettingView(MasterView):
|
|||
app.save_setting(session, 'rattail.mail.{}.to'.format(key), (data['to'] or '').replace('\n', ', '))
|
||||
app.save_setting(session, 'rattail.mail.{}.cc'.format(key), (data['cc'] or '').replace('\n', ', '))
|
||||
app.save_setting(session, 'rattail.mail.{}.bcc'.format(key), (data['bcc'] or '').replace('\n', ', '))
|
||||
app.save_setting(session, 'rattail.mail.{}.enabled'.format(key), six.text_type(data['enabled']).lower())
|
||||
app.save_setting(session, 'rattail.mail.{}.enabled'.format(key), str(data['enabled']).lower())
|
||||
if self.has_perm('configure'):
|
||||
app.save_setting(session, 'rattail.mail.{}.hidden'.format(key), six.text_type(data['hidden']).lower())
|
||||
app.save_setting(session, 'rattail.mail.{}.hidden'.format(key), str(data['hidden']).lower())
|
||||
return data
|
||||
|
||||
def template_kwargs_view(self, **kwargs):
|
||||
|
@ -280,6 +276,12 @@ class EmailSettingView(MasterView):
|
|||
config = self.rattail_config
|
||||
return [
|
||||
|
||||
# general
|
||||
{'section': 'rattail.mail',
|
||||
'option': 'handler'},
|
||||
{'section': 'rattail.mail',
|
||||
'option': 'templates'},
|
||||
|
||||
# sending
|
||||
{'section': 'rattail.mail',
|
||||
'option': 'record_attempts',
|
||||
|
@ -289,6 +291,16 @@ class EmailSettingView(MasterView):
|
|||
'type': bool},
|
||||
]
|
||||
|
||||
def configure_get_context(self, *args, **kwargs):
|
||||
context = super().configure_get_context(*args, **kwargs)
|
||||
|
||||
# prettify list of template paths
|
||||
templates = self.rattail_config.parse_list(
|
||||
context['simple_settings']['rattail.mail.templates'])
|
||||
context['simple_settings']['rattail.mail.templates'] = ', '.join(templates)
|
||||
|
||||
return context
|
||||
|
||||
def toggle_hidden(self):
|
||||
app = self.get_rattail_app()
|
||||
data = self.request.json_body
|
||||
|
|
Loading…
Reference in a new issue