mirror of
https://github.com/optim-enterprises-bv/Mailu.git
synced 2025-11-01 18:47:52 +00:00
Merge #3356
3356: Fix email forwarding when set from the UI (backport #3353) r=mergify[bot] a=mergify[bot] ## What type of PR? bug-fix ## What does this PR do? Fix email forwarding when set from the UI ### Related issue(s) - closes #3352 - closes #3349 ## Prerequisites Before we can consider review and merge, please make sure the following list is done and checked. If an entry in not applicable, you can check it or remove it from the list. - [ ] In case of feature or enhancement: documentation updated accordingly - [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/workflow.html#changelog) entry file. <hr>This is an automatic backport of pull request #3353 done by [Mergify](https://mergify.com). Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
This commit is contained in:
@@ -93,12 +93,12 @@ def user_settings(user_email):
|
||||
form = forms.UserSettingsForm(obj=user)
|
||||
utils.formatCSVField(form.forward_destination)
|
||||
if form.validate_on_submit():
|
||||
if form.forward_enabled.data and (form.forward_destination.data in ['', None] or type(form.forward_destination.data) is list):
|
||||
user.forward_enabled = bool(flask.request.form.get('forward_enabled', False))
|
||||
if user.forward_enabled and not form.forward_destination.data:
|
||||
flask.flash('Destination email address is missing', 'error')
|
||||
user.forward_enabled = True
|
||||
return flask.render_template('user/settings.html', form=form, user=user)
|
||||
if form.forward_enabled.data:
|
||||
form.forward_destination.data = form.forward_destination.data.replace(" ","").split(",")
|
||||
return flask.redirect(
|
||||
flask.url_for('.user_settings', user_email=user_email))
|
||||
form.forward_destination.data = form.forward_destination.data.replace(" ","").split(",")
|
||||
form.populate_obj(user)
|
||||
models.db.session.commit()
|
||||
form.forward_destination.data = ", ".join(form.forward_destination.data)
|
||||
@@ -107,8 +107,9 @@ def user_settings(user_email):
|
||||
return flask.redirect(
|
||||
flask.url_for('.user_list', domain_name=user.domain.name))
|
||||
elif form.is_submitted() and not form.validate():
|
||||
user.forward_enabled = form.forward_enabled.data
|
||||
return flask.render_template('user/settings.html', form=form, user=user)
|
||||
flask.flash('Error validating the form', 'error')
|
||||
return flask.redirect(
|
||||
flask.url_for('.user_settings', user_email=user_email))
|
||||
return flask.render_template('user/settings.html', form=form, user=user)
|
||||
|
||||
def _process_password_change(form, user_email):
|
||||
|
||||
@@ -532,6 +532,7 @@ def isBadOrPwned(form):
|
||||
|
||||
def formatCSVField(field):
|
||||
if not field.data:
|
||||
field.data = ''
|
||||
return
|
||||
if isinstance(field.data,str):
|
||||
data = field.data.replace(" ","").split(",")
|
||||
|
||||
1
towncrier/newsfragments/3349.bugfix
Normal file
1
towncrier/newsfragments/3349.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix email-forwarding when set from the web interface
|
||||
Reference in New Issue
Block a user