diff --git a/conf/settings.py b/conf/settings.py index a82b3dc..561a2cf 100644 --- a/conf/settings.py +++ b/conf/settings.py @@ -35,6 +35,8 @@ PATH_URL = PATH_URL.strip('/') DEBUG_ENABLED = '__DEBUG_ENABLED__' LOG_LEVEL = '__LOG_LEVEL__' ADMIN_EMAIL = '__ADMIN_EMAIL__' +DEFAULT_FROM_EMAIL = '__DEFAULT_FROM_EMAIL__' + # ----------------------------------------------------------------------------- # Use/convert/validate config_panel.toml settings: @@ -46,7 +48,12 @@ assert LOG_LEVEL in ( 'ERROR', 'CRITICAL', ), f'Invalid LOG_LEVEL: {LOG_LEVEL!r}' -__EmailValidator(message='ADMIN_EMAIL from config panel is not valid!')(ADMIN_EMAIL) +__EmailValidator( + message='ADMIN_EMAIL %(value)r from config panel is not valid!', +)(ADMIN_EMAIL) +__EmailValidator( + message='DEFAULT_FROM_EMAIL %(value)r from config panel is not valid!', +)(DEFAULT_FROM_EMAIL) # ----------------------------------------------------------------------------- @@ -91,7 +98,6 @@ SERVER_EMAIL = 'noreply@__DOMAIN__' # Default email address to use for various automated correspondence from # the site managers. Used for registration emails. -DEFAULT_FROM_EMAIL = ADMIN_EMAIL # List of URLs your site is supposed to serve ALLOWED_HOSTS = ['__DOMAIN__'] diff --git a/config_panel.toml b/config_panel.toml index d1b530a..0061ee3 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -7,11 +7,16 @@ services = ["__APP__"] [main.config] name = "Configuration Options" + [main.config.default_from_email] + ask = "from email" + type = "string" + help = "Default email address to use for various automated emails." + bind = "default_from_email:__FINALPATH__/settings.py" + [main.config.admin_email] ask = "ADMIN email" type = "string" help = "EMail address for error emails." - default = "root@localhost" bind = "admin_email:__FINALPATH__/settings.py" [main.config.debug_enabled] diff --git a/scripts/_common.sh b/scripts/_common.sh index 6716bab..eb4830b 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -24,6 +24,9 @@ log_level="WARNING" # 'admin_email' -> '__ADMIN_EMAIL__' add in settings.ADMINS admin_email="${admin}@${domain}" +# 'default_from_email' -> '__DEFAULT_FROM_EMAIL__' -> settings.DEFAULT_FROM_EMAIL +default_from_email="${app}@${domain}" + #================================================= # SET CONSTANTS #================================================= diff --git a/scripts/change_url b/scripts/change_url index f109026..326e707 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -39,6 +39,7 @@ redis_db=$(ynh_app_setting_get --app="$app" --key=redis_db) debug_enabled=$(ynh_app_setting_get --app="$app" --key=debug_enabled) log_level=$(ynh_app_setting_get --app="$app" --key=log_level) admin_email=$(ynh_app_setting_get --app="$app" --key=admin_email) +default_from_email=$(ynh_app_setting_get --app="$app" --key=default_from_email) #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP diff --git a/scripts/install b/scripts/install index c826807..85b33ea 100755 --- a/scripts/install +++ b/scripts/install @@ -65,6 +65,7 @@ ynh_app_setting_set --app="$app" --key=redis_db --value="$redis_db" ynh_app_setting_set --app="$app" --key=debug_enabled --value="$debug_enabled" ynh_app_setting_set --app="$app" --key=log_level --value="$log_level" ynh_app_setting_set --app="$app" --key=admin_email --value="$admin_email" +ynh_app_setting_set --app="$app" --key=default_from_email --value="$default_from_email" #================================================= # STANDARD MODIFICATIONS diff --git a/scripts/upgrade b/scripts/upgrade index 3c17990..dd78304 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -45,10 +45,16 @@ fi admin_email=$(ynh_app_setting_get --app="$app" --key=admin_email) if [ -z "$admin_email" ]; then - admin_email="root@localhost" + admin_email="${admin}@${domain}" ynh_app_setting_set --app="$app" --key=admin_email --value="$admin_email" fi +default_from_email=$(ynh_app_setting_get --app="$app" --key=default_from_email) +if [ -z "$default_from_email" ]; then + default_from_email="${app}@${domain}" + ynh_app_setting_set --app="$app" --key=default_from_email --value="$default_from_email" +fi + #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= diff --git a/tests/conftest.py b/tests/conftest.py index c2ac595..e7d56d8 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -30,6 +30,7 @@ def pytest_configure(): '__DEBUG_ENABLED__': '0', '__LOG_LEVEL__': 'INFO', '__ADMIN_EMAIL__': 'foo-bar@test.tld', + '__DEFAULT_FROM_EMAIL__': 'django_app@test.tld', }, ) print('Local test files created here:') diff --git a/tests/test_django_project.py b/tests/test_django_project.py index 6f81a8b..68e7bb4 100644 --- a/tests/test_django_project.py +++ b/tests/test_django_project.py @@ -32,6 +32,7 @@ class DjangoYnhTestCase(HtmlAssertionMixin, TestCase): assert settings.DEBUG_ENABLED == '0' and settings.DEBUG is False assert settings.LOG_LEVEL == 'INFO' assert settings.ADMIN_EMAIL == 'foo-bar@test.tld' + assert settings.DEFAULT_FROM_EMAIL == 'django_app@test.tld' def test_urls(self): assert reverse('admin:index') == '/app_path/'