Implement auto-forward and auto-reply
This commit is contained in:
@@ -42,11 +42,15 @@ class UserPasswordForm(Form):
|
||||
|
||||
|
||||
class UserForwardForm(Form):
|
||||
forward = fields.StringField('Destination', [validators.Email()])
|
||||
forward_enabled = fields.BooleanField('Enable forwarding', default=False)
|
||||
forward = fields.StringField(
|
||||
'Destination', [validators.Optional(), validators.Email()]
|
||||
)
|
||||
submit = fields.SubmitField('Update')
|
||||
|
||||
|
||||
class UserReplyForm(Form):
|
||||
reply_enabled = fields.BooleanField('Enable reply', default=False)
|
||||
reply_subject = fields.StringField('Reply subject')
|
||||
reply_body = fields.StringField('Reply body', widget=widgets.TextArea())
|
||||
submit = fields.SubmitField('Update')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{% extends "form.html" %}
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
Forward emails
|
||||
@@ -7,3 +7,16 @@ Forward emails
|
||||
{% block subtitle %}
|
||||
{{ user }}
|
||||
{% endblock %}
|
||||
|
||||
{% block box_content %}
|
||||
<form class="form" method="post" role="form">
|
||||
{{ form.hidden_tag() }}
|
||||
{{ macros.form_field(form.forward_enabled,
|
||||
onchange="if(this.checked){$('#forward').removeAttr('disabled')}
|
||||
else{$('#forward').attr('disabled', '').val('')}",
|
||||
**{("checked" if user.forward else "unchecked"): ""}) }}
|
||||
{{ macros.form_field(form.forward,
|
||||
**{("enabled" if user.forward else "disabled"): ""}) }}
|
||||
{{ macros.form_field(form.submit) }}
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{% extends "form.html" %}
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
Automatic reply
|
||||
@@ -7,3 +7,18 @@ Automatic reply
|
||||
{% block subtitle %}
|
||||
{{ user }}
|
||||
{% endblock %}
|
||||
|
||||
{% block box_content %}
|
||||
<form class="form" method="post" role="form">
|
||||
{{ form.hidden_tag() }}
|
||||
{{ macros.form_field(form.reply_enabled,
|
||||
onchange="if(this.checked){$('#reply_subject,#reply_body').removeAttr('disabled')}
|
||||
else{$('#reply_subject,#reply_body').attr('disabled', '').val('')}",
|
||||
**{("checked" if user.forward else "unchecked"): ""}) }}
|
||||
{{ macros.form_field(form.reply_subject,
|
||||
**{("enabled" if user.reply_subject else "disabled"): ""}) }}
|
||||
{{ macros.form_field(form.reply_body, rows=10,
|
||||
**{("enabled" if user.reply_subject else "disabled"): ""}) }}
|
||||
{{ macros.form_field(form.submit) }}
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
@@ -120,7 +120,10 @@ def user_forward(user_email):
|
||||
user = utils.get_user(user_email)
|
||||
form = forms.UserForwardForm(obj=user)
|
||||
if form.validate_on_submit():
|
||||
user.forward = form.forward.data
|
||||
if form.forward_enabled:
|
||||
user.forward = form.forward.data
|
||||
else:
|
||||
user.forward = None
|
||||
db.session.add(user)
|
||||
db.session.commit()
|
||||
flask.flash('Forward destination updated for %s' % user)
|
||||
|
||||
Reference in New Issue
Block a user