diff --git a/admin/freeposte/admin/forms.py b/admin/freeposte/admin/forms.py
index 10477c6e..814e4467 100644
--- a/admin/freeposte/admin/forms.py
+++ b/admin/freeposte/admin/forms.py
@@ -42,15 +42,15 @@ class UserPasswordForm(Form):
class UserForwardForm(Form):
- forward_enabled = fields.BooleanField('Enable forwarding', default=False)
- forward = fields.StringField(
+ forward_enabled = fields.BooleanField('Enable forwarding')
+ forward_destination = fields.StringField(
'Destination', [validators.Optional(), validators.Email()]
)
submit = fields.SubmitField('Update')
class UserReplyForm(Form):
- reply_enabled = fields.BooleanField('Enable reply', default=False)
+ reply_enabled = fields.BooleanField('Enable automatic reply')
reply_subject = fields.StringField('Reply subject')
reply_body = fields.StringField('Reply body', widget=widgets.TextArea())
submit = fields.SubmitField('Update')
diff --git a/admin/freeposte/admin/models.py b/admin/freeposte/admin/models.py
index ef6cb768..7980afaa 100644
--- a/admin/freeposte/admin/models.py
+++ b/admin/freeposte/admin/models.py
@@ -87,7 +87,9 @@ class User(Email):
enable_pop = db.Column(db.Boolean(), nullable=False, default=True)
# Filters
- forward = db.Column(db.String(160), nullable=True, default=None)
+ forward_enabled = db.Column(db.Boolean(), nullable=False, default=False)
+ forward_destination = db.Column(db.String(255), nullable=True, default=None)
+ reply_enabled = db.Column(db.Boolean(), nullable=False, default=False)
reply_subject = db.Column(db.String(255), nullable=True, default=None)
reply_body = db.Column(db.Text(), nullable=True, default=None)
diff --git a/admin/freeposte/admin/templates/admin/list.html b/admin/freeposte/admin/templates/admin/list.html
index 45b3d8e6..8a733392 100644
--- a/admin/freeposte/admin/templates/admin/list.html
+++ b/admin/freeposte/admin/templates/admin/list.html
@@ -14,8 +14,6 @@ Global administrators
Actions |
Email |
- Created |
- Last edit |
{% for admin in admins %}
@@ -23,8 +21,6 @@ Global administrators
{{ admin }} |
- {{ admin.created_at }} |
- {{ admin.updated_at or '' }} |
{% endfor %}
diff --git a/admin/freeposte/admin/templates/manager/list.html b/admin/freeposte/admin/templates/manager/list.html
index f7b92d4a..b915529b 100644
--- a/admin/freeposte/admin/templates/manager/list.html
+++ b/admin/freeposte/admin/templates/manager/list.html
@@ -18,8 +18,6 @@ Manager list
Actions |
Email |
- Created |
- Last edit |
{% for manager in domain.managers %}
@@ -27,8 +25,6 @@ Manager list
{{ manager }} |
- {{ manager.created_at }} |
- {{ manager.updated_at or '' }} |
{% endfor %}
diff --git a/admin/freeposte/admin/templates/user/forward.html b/admin/freeposte/admin/templates/user/forward.html
index efd0f672..ecb327b0 100644
--- a/admin/freeposte/admin/templates/user/forward.html
+++ b/admin/freeposte/admin/templates/user/forward.html
@@ -12,11 +12,10 @@ Forward emails
{% endblock %}
diff --git a/admin/freeposte/admin/templates/user/reply.html b/admin/freeposte/admin/templates/user/reply.html
index 494aa6c8..9b02fc95 100644
--- a/admin/freeposte/admin/templates/user/reply.html
+++ b/admin/freeposte/admin/templates/user/reply.html
@@ -13,8 +13,7 @@ Automatic reply
{{ 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.reply_subject else "unchecked"): ""}) }}
+ else{$('#reply_subject,#reply_body').attr('disabled', '')}") }}
{{ macros.form_field(form.reply_subject,
**{("enabled" if user.reply_subject else "disabled"): ""}) }}
{{ macros.form_field(form.reply_body, rows=10,
diff --git a/admin/freeposte/admin/views/fetches.py b/admin/freeposte/admin/views/fetches.py
index f79c5696..e584dbfb 100644
--- a/admin/freeposte/admin/views/fetches.py
+++ b/admin/freeposte/admin/views/fetches.py
@@ -10,11 +10,11 @@ import wtforms_components
@app.route('/fetch/list/', methods=['GET'])
@flask_login.login_required
def fetch_list(user_email):
- user = utils.get_user(user_email, True)
+ user = utils.get_user(user_email)
return flask.render_template('fetch/list.html', user=user)
-@app.route('/fetch/list', methods=['GET', 'POST'], defaults={'user_email': None})
+@app.route('/fetch/create', methods=['GET', 'POST'], defaults={'user_email': None})
@app.route('/fetch/create/', methods=['GET', 'POST'])
@flask_login.login_required
def fetch_create(user_email):
diff --git a/dovecot/sieve/before.sieve b/dovecot/sieve/before.sieve
index c8fbec4f..6efbfd2f 100644
--- a/dovecot/sieve/before.sieve
+++ b/dovecot/sieve/before.sieve
@@ -1,14 +1,10 @@
require ["variables", "vacation", "vnd.dovecot.extdata"];
-if string :is "${extdata.reply_subject}" "" {
-
-} else {
+if ${extdata.reply_enabled} {
vacation :days 1 :subject "${extdata.reply_subject}" "${extdata.reply_body}";
}
-if string :is "${extdata.forward}" "" {
-
-} else {
- redirect "${extdata.forward}";
+if ${extdata.forward_enabled} {
+ redirect "${extdata.forward_destination}";
keep;
}