diff --git a/conf/default.env b/conf/default.env index dcd6195..825ca6d 100644 --- a/conf/default.env +++ b/conf/default.env @@ -25,8 +25,8 @@ MAIL_PORT=25 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null -MAIL_FROM_ADDRESS='__EMAIL__' -MAIL_FROM_NAME='__EMAIL_FULLNAME__' +MAIL_FROM_ADDRESS='__DEFAULT_FROM_EMAIL_ADDRESS__' +MAIL_FROM_NAME='__DEFAULT_FROM_EMAIL_NAME__' DEMO_MODE=false diff --git a/config_panel.toml b/config_panel.toml new file mode 100644 index 0000000..6666526 --- /dev/null +++ b/config_panel.toml @@ -0,0 +1,18 @@ +version = "1.0" +[main] +name = "InvoicNinja configuration" + + [main.config] + name = "Configuration Options" + + [main.config.default_from_email_address] + ask.en = "Choose from which mail address emails will be sent" + ask.fr = "Choisissez à partir de quelle adresse e-mail les e-mails seront envoyés" + help = "Default email address to use for various automated emails." + bind = "MAIL_FROM_ADDRESS:__INSTALL_DIR__/.env" + + [main.config.default_from_email_name] + ask.en = "Choose what name will be displayed when InvoiceNinja sends mails" + ask.fr = "Choisissez quel nom sera affiché lorsque InvoiceNinja enverra des e-mails" + help = "Default name address to use for various automated names." + bind = "MAIL_FROM_NAME:__INSTALL_DIR__/.env" diff --git a/manifest.toml b/manifest.toml index b2972d7..07ea4f9 100644 --- a/manifest.toml +++ b/manifest.toml @@ -51,8 +51,6 @@ ram.runtime = "50M" type = "user" [install.password] - help.en = "Use the help field to add an information for the admin about this question." - help.fr = "Utilisez le champ aide pour ajouter une information à l'intention de l'administrateur à propos de cette question." type = "password" [resources] diff --git a/scripts/config b/scripts/config new file mode 100644 index 0000000..16f9ec9 --- /dev/null +++ b/scripts/config @@ -0,0 +1,14 @@ +#!/bin/bash + +source /usr/share/yunohost/helpers + +# Cache needs to be cleared after updating vars through config panel +ynh_app_config_apply() { + _ynh_app_config_apply + pushd "$install_dir" + # Optimize the framework for better performance + php$phpversion artisan optimize --no-interaction --verbose + popd +} + +ynh_app_config_run $1 diff --git a/scripts/install b/scripts/install index 1dec766..b87a458 100755 --- a/scripts/install +++ b/scripts/install @@ -14,12 +14,14 @@ api_secret="$(ynh_string_random --length=32)" app_key="$(ynh_string_random --length=32)" phantomjs_key="$(ynh_string_random --length=32)" -email_fullname="$(ynh_user_get_info --username=$admin --key=fullname)" -email="$(ynh_user_get_info --username=$admin --key=mail)" +default_from_email_name="$(ynh_user_get_info --username=$admin --key=fullname)" +default_from_email_address="$(ynh_user_get_info --username=$admin --key=mail)" ynh_app_setting_set --key=api_secret --value=$api_secret ynh_app_setting_set --key=app_key --value=$app_key ynh_app_setting_set --key=phantomjs_key --value=$phantomjs_key +ynh_app_setting_set --key=default_from_email_address --value="$default_from_email_address" +ynh_app_setting_set --key=default_from_email_name --value="$default_from_email_name" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -55,7 +57,7 @@ ynh_script_progression "Building the application..." pushd "$install_dir" # Run the database migrations and initially fill the db php$php_version artisan migrate:fresh --seed --no-interaction --verbose --force - php$php_version artisan ninja:create-account --email $email --password "$password" --no-interaction --verbose + php$php_version artisan ninja:create-account --email $default_from_email_address --password "$password" --no-interaction --verbose php$php_version artisan optimize --no-interaction --verbose php$php_version artisan view:clear php$php_version artisan cache:clear diff --git a/scripts/upgrade b/scripts/upgrade index 432a1d4..de2e82e 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -17,8 +17,17 @@ ynh_app_setting_delete --key=email_lastname ynh_app_setting_delete --key=email # also delete unnecessary duplicate of state storage # Retrieve `$admin` user settings -ynh_app_setting_set_default --key=email_fullname --value="$(ynh_user_get_info --username=$admin --key=fullname)" -ynh_app_setting_set_default --key=email --value="$(ynh_user_get_info --username=$admin --key=mail)" +default_from_email_address=$(ynh_app_setting_get --key=default_from_email_address) +if [ -z "$default_from_email_address" ]; then + default_from_email_address="${app}@${domain}" + ynh_app_setting_set --key=default_from_email_address --value="$default_from_email_address" +fi + +default_from_email_name=$(ynh_app_setting_get --key=default_from_email_name) +if [ -z "$default_from_email_name" ]; then + default_from_email_name="${app}@${domain}" + ynh_app_setting_set --key=default_from_email_name --value="$default_from_email_name" +fi ynh_app_setting_set_default --key=api_secret --value="$(ynh_string_random --length=32)" ynh_app_setting_set_default --key=app_key --value="$(ynh_string_random --length=32)" diff --git a/tests.toml b/tests.toml index 8829f31..23744f9 100644 --- a/tests.toml +++ b/tests.toml @@ -12,6 +12,9 @@ test_format = 1.0 # Default args to use for install # ------------------------------- + args.default_from_email_address = "invoiceninja@example.tld" + args.default_from_email_name = "invoiceninja" + # ------------------------------- # Commits to test upgrade from # -------------------------------