mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-28 17:32:38 +02:00
parent
0dede02133
commit
5f4f69bc6c
10 changed files with 24 additions and 12 deletions
|
@ -14,7 +14,7 @@ ENV DEBUG="False" \
|
||||||
ALLOW_PUBLIC_PROJECT_CREATION="True" \
|
ALLOW_PUBLIC_PROJECT_CREATION="True" \
|
||||||
BABEL_DEFAULT_TIMEZONE="UTC" \
|
BABEL_DEFAULT_TIMEZONE="UTC" \
|
||||||
GREENLET_TEST_CPP="no" \
|
GREENLET_TEST_CPP="no" \
|
||||||
MAIL_DEFAULT_SENDER="('Budget manager', 'admin@example.com')" \
|
MAIL_DEFAULT_SENDER="Budget manager <admin@example.com>" \
|
||||||
MAIL_PASSWORD="" \
|
MAIL_PASSWORD="" \
|
||||||
MAIL_PORT="25" \
|
MAIL_PORT="25" \
|
||||||
MAIL_SERVER="localhost" \
|
MAIL_SERVER="localhost" \
|
||||||
|
|
|
@ -13,7 +13,7 @@ services:
|
||||||
- ALLOW_PUBLIC_PROJECT_CREATION=True
|
- ALLOW_PUBLIC_PROJECT_CREATION=True
|
||||||
- BABEL_DEFAULT_TIMEZONE=UTC
|
- BABEL_DEFAULT_TIMEZONE=UTC
|
||||||
- GREENLET_TEST_CPP=no
|
- GREENLET_TEST_CPP=no
|
||||||
- MAIL_DEFAULT_SENDER=('Budget manager', 'admin@example.com')
|
- MAIL_DEFAULT_SENDER="Budget manager <admin@example.com>"
|
||||||
- MAIL_PASSWORD=
|
- MAIL_PASSWORD=
|
||||||
- MAIL_PORT=25
|
- MAIL_PORT=25
|
||||||
- MAIL_SERVER=localhost
|
- MAIL_SERVER=localhost
|
||||||
|
|
|
@ -76,11 +76,10 @@ for details.
|
||||||
|
|
||||||
## MAIL_DEFAULT_SENDER
|
## MAIL_DEFAULT_SENDER
|
||||||
|
|
||||||
A python tuple describing the name and email address to use when sending
|
An email address to use when sending emails.
|
||||||
emails.
|
|
||||||
|
|
||||||
- **Default value:** `("Budget manager", "admin@example.com")`
|
- **Default value:** `Budget manager <admin@example.com>`
|
||||||
- **Production value:** Any tuple you want.
|
- **Production value:** Any valid email address.
|
||||||
|
|
||||||
## SHOW_ADMIN_EMAIL
|
## SHOW_ADMIN_EMAIL
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||||
SECRET_KEY = "{{ secret_key }}"
|
SECRET_KEY = "{{ secret_key }}"
|
||||||
|
|
||||||
# A python tuple describing the name and email adress of the sender of the mails.
|
# A python tuple describing the name and email adress of the sender of the mails.
|
||||||
MAIL_DEFAULT_SENDER = ("Budget manager", "admin@example.com") # CUSTOMIZE
|
MAIL_DEFAULT_SENDER = "Budget manager <admin@example.com>" # CUSTOMIZE
|
||||||
|
|
||||||
# A boolean that determines whether the admin email (MAIL_DEFAULT_SENDER) is
|
# A boolean that determines whether the admin email (MAIL_DEFAULT_SENDER) is
|
||||||
# shown in error messages.
|
# shown in error messages.
|
||||||
|
|
|
@ -3,7 +3,7 @@ DEBUG = SQLACHEMY_ECHO = False
|
||||||
SQLALCHEMY_DATABASE_URI = "sqlite:////tmp/ihatemoney.db"
|
SQLALCHEMY_DATABASE_URI = "sqlite:////tmp/ihatemoney.db"
|
||||||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||||
SECRET_KEY = "tralala"
|
SECRET_KEY = "tralala"
|
||||||
MAIL_DEFAULT_SENDER = ("Budget manager", "admin@example.com")
|
MAIL_DEFAULT_SENDER = "Budget manager <admin@example.com>"
|
||||||
SHOW_ADMIN_EMAIL = True
|
SHOW_ADMIN_EMAIL = True
|
||||||
ACTIVATE_DEMO_PROJECT = True
|
ACTIVATE_DEMO_PROJECT = True
|
||||||
ADMIN_PASSWORD = ""
|
ADMIN_PASSWORD = ""
|
||||||
|
|
|
@ -102,6 +102,16 @@ def validate_configuration(app):
|
||||||
if "MAIL_DEFAULT_SENDER" not in app.config:
|
if "MAIL_DEFAULT_SENDER" not in app.config:
|
||||||
app.config["MAIL_DEFAULT_SENDER"] = default_settings.DEFAULT_MAIL_SENDER
|
app.config["MAIL_DEFAULT_SENDER"] = default_settings.DEFAULT_MAIL_SENDER
|
||||||
|
|
||||||
|
if type(app.config["MAIL_DEFAULT_SENDER"]) == tuple:
|
||||||
|
(name, address) = app.config["MAIL_DEFAULT_SENDER"]
|
||||||
|
app.config["MAIL_DEFAULT_SENDER"] = f"{name} <{address}>"
|
||||||
|
warnings.warn(
|
||||||
|
"MAIL_DEFAULT_SENDER has been changed from tuple to string."
|
||||||
|
+ f" It was converted to '{app.config['MAIL_DEFAULT_SENDER']}'."
|
||||||
|
+ " Auto-conversion will be removed in future version.",
|
||||||
|
UserWarning,
|
||||||
|
)
|
||||||
|
|
||||||
if "pbkdf2:" not in app.config["ADMIN_PASSWORD"] and app.config["ADMIN_PASSWORD"]:
|
if "pbkdf2:" not in app.config["ADMIN_PASSWORD"] and app.config["ADMIN_PASSWORD"]:
|
||||||
# Since 2.0
|
# Since 2.0
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
|
|
|
@ -6,4 +6,4 @@ SQLACHEMY_ECHO = DEBUG
|
||||||
|
|
||||||
SECRET_KEY = "supersecret"
|
SECRET_KEY = "supersecret"
|
||||||
|
|
||||||
MAIL_DEFAULT_SENDER = ("Budget manager", "admin@example.com")
|
MAIL_DEFAULT_SENDER = "Budget manager <admin@example.com>"
|
||||||
|
|
|
@ -6,4 +6,4 @@ SQLACHEMY_ECHO = DEBUG
|
||||||
|
|
||||||
SECRET_KEY = "lalatra"
|
SECRET_KEY = "lalatra"
|
||||||
|
|
||||||
MAIL_DEFAULT_SENDER = ("Budget manager", "admin@example.com")
|
MAIL_DEFAULT_SENDER = "Budget manager <admin@example.com>"
|
||||||
|
|
|
@ -26,7 +26,7 @@ class ConfigurationTestCase(BaseTestCase):
|
||||||
self.assertFalse(self.app.config["SQLALCHEMY_TRACK_MODIFICATIONS"])
|
self.assertFalse(self.app.config["SQLALCHEMY_TRACK_MODIFICATIONS"])
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
self.app.config["MAIL_DEFAULT_SENDER"],
|
self.app.config["MAIL_DEFAULT_SENDER"],
|
||||||
("Budget manager", "admin@example.com"),
|
("Budget manager <admin@example.com>"),
|
||||||
)
|
)
|
||||||
self.assertTrue(self.app.config["ACTIVATE_DEMO_PROJECT"])
|
self.assertTrue(self.app.config["ACTIVATE_DEMO_PROJECT"])
|
||||||
self.assertTrue(self.app.config["ALLOW_PUBLIC_PROJECT_CREATION"])
|
self.assertTrue(self.app.config["ALLOW_PUBLIC_PROJECT_CREATION"])
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import ast
|
import ast
|
||||||
import csv
|
import csv
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
import email.utils
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from io import BytesIO, StringIO, TextIOWrapper
|
from io import BytesIO, StringIO, TextIOWrapper
|
||||||
from json import JSONEncoder, dumps
|
from json import JSONEncoder, dumps
|
||||||
|
@ -53,7 +54,9 @@ def flash_email_error(error_message, category="danger"):
|
||||||
admin email as a contact if MAIL_DEFAULT_SENDER is set to not the
|
admin email as a contact if MAIL_DEFAULT_SENDER is set to not the
|
||||||
default value and SHOW_ADMIN_EMAIL is True.
|
default value and SHOW_ADMIN_EMAIL is True.
|
||||||
"""
|
"""
|
||||||
(admin_name, admin_email) = current_app.config.get("MAIL_DEFAULT_SENDER")
|
(admin_name, admin_email) = email.utils.parseaddr(
|
||||||
|
current_app.config.get("MAIL_DEFAULT_SENDER")
|
||||||
|
)
|
||||||
error_extension = "."
|
error_extension = "."
|
||||||
if admin_email != "admin@example.com" and current_app.config.get(
|
if admin_email != "admin@example.com" and current_app.config.get(
|
||||||
"SHOW_ADMIN_EMAIL"
|
"SHOW_ADMIN_EMAIL"
|
||||||
|
|
Loading…
Reference in a new issue