emails: allow user to define default mail object (#41430)
This commit is contained in:
parent
2f839757a5
commit
29914b6d36
|
@ -31,6 +31,8 @@ class EmailsForm(forms.Form):
|
|||
default_from_email = ValidEmailField(label=_('Default From'))
|
||||
email_signature = forms.CharField(label=_('Signature'), required=False,
|
||||
widget=forms.Textarea)
|
||||
email_prefix = forms.CharField(label=_('Prefix'), required=False,
|
||||
help_text=_('Custom prefix for emails subject (defaults to plateform title)'))
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(EmailsForm, self).__init__(*args, **kwargs)
|
||||
|
|
|
@ -24,7 +24,7 @@ from .forms import EmailsForm
|
|||
|
||||
class HomeView(VariablesFormMixin, TemplateView):
|
||||
template_name = 'hobo/emails_home.html'
|
||||
variables = ['default_from_email', 'email_signature']
|
||||
variables = ['default_from_email', 'email_signature', 'email_prefix']
|
||||
form_class = EmailsForm
|
||||
success_message = _('Emails settings have been updated. '
|
||||
'It will take a few seconds to be effective.')
|
||||
|
|
|
@ -15,6 +15,9 @@ from django.utils import six
|
|||
from django.utils.encoding import force_text
|
||||
|
||||
from hobo.emails.validators import validate_email_address
|
||||
from hobo.environment.models import Variable
|
||||
|
||||
from test_manager import login
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
|
@ -174,3 +177,16 @@ def test_no_spf_validation(client, admin_user, dns_resolver, smtp_server, settin
|
|||
response = client.post('/emails/', {'default_from_email': 'john.doe@example-invalid-spf.com'}, follow=True)
|
||||
assert response.status_code == 200
|
||||
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in force_text(response.content)
|
||||
|
||||
|
||||
def test_emails_view(app, admin_user, dns_resolver, smtp_server, settings):
|
||||
settings.ALLOWED_SPF_RECORDS = ['include:allowed_mx.com']
|
||||
app = login(app)
|
||||
resp = app.get('/emails/')
|
||||
resp.form['default_from_email'] = 'john.doe@example.com'
|
||||
resp.form['email_signature'] = 'my signature'
|
||||
resp.form['email_prefix'] = 'my mail object'
|
||||
resp = resp.form.submit()
|
||||
assert Variable.objects.filter(name='default_from_email')[0].value == 'john.doe@example.com'
|
||||
assert Variable.objects.filter(name='email_signature')[0].value == 'my signature'
|
||||
assert Variable.objects.filter(name='email_prefix')[0].value == 'my mail object'
|
||||
|
|
Loading…
Reference in New Issue