From e4980904023c9ca7dfd04f6996e20f0b539d589a Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Sun, 8 Feb 2026 23:41:43 -0600 Subject: [PATCH 01/17] Add config panel for mail address and mail name --- conf/default.env | 4 ++-- config_panel.toml | 18 ++++++++++++++++++ manifest.toml | 16 ++++++++++++++-- scripts/config | 9 +++++++++ scripts/install | 8 +++++--- scripts/upgrade | 23 +++++++++++++++++++++-- tests.toml | 3 +++ 7 files changed, 72 insertions(+), 9 deletions(-) create mode 100644 config_panel.toml create mode 100644 scripts/config diff --git a/conf/default.env b/conf/default.env index dcd6195..0969057 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='__MAIL_ADDRESS__' +MAIL_FROM_NAME='__MAIL_NAME__' DEMO_MODE=false diff --git a/config_panel.toml b/config_panel.toml new file mode 100644 index 0000000..3cfce15 --- /dev/null +++ b/config_panel.toml @@ -0,0 +1,18 @@ +version = "1.0" +[main] +name = "InvoicNinja configuration" + + [main.config] + name = "Configuration Options" + + [main.config.mail_address] + ask = "from email" + type = "email" + help = "Default email address to use for various automated emails." + bind = "MAIL_FROM_ADDRESS:__INSTALL_DIR__/.env" + + [main.config.mail_name] + ask = "from name" + type = "name" + help = "Default name address to use for various automated names." + bind = "MAIL_FROM_NAME:__INSTALL_DIR__/.env" \ No newline at end of file diff --git a/manifest.toml b/manifest.toml index 0c15a83..7590b8d 100644 --- a/manifest.toml +++ b/manifest.toml @@ -51,10 +51,22 @@ 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." + help.en = "The password to login into InvoiceNinja." + help.fr = "Le mot de passe pour se connecter à InvoiceNinja." type = "password" + [install.mail_name] + help.en = "Choose what name will be displayed when InvoiceNinja sends mails." + help.fr = "" + type = "string" + default = "" + + [install.mail_address] + help.en = "Choose from which mail-address emails will be send." + help.fr = "" + type = "email" + default = "" + [resources] [resources.sources] diff --git a/scripts/config b/scripts/config new file mode 100644 index 0000000..ebec969 --- /dev/null +++ b/scripts/config @@ -0,0 +1,9 @@ +# we need to clear invoiceninja's cache after updating vars +# through the 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 +} \ No newline at end of file diff --git a/scripts/install b/scripts/install index 1dec766..27e8806 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)" +mail_address=$(ynh_app_setting_get --app=$mail_address --key=mail_address) +mail_name=$(ynh_app_setting_get --app=$mail_name --key=mail_name) 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=mail_address --value="$mail_address" +#ynh_app_setting_set --key=mail_name --value="$mail_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 $mail_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..2115299 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -11,14 +11,33 @@ source /usr/share/yunohost/helpers #================================================= ynh_script_progression "Ensuring downward compatibility..." +if [ -z "${mail_address:-}" ]; then + mail_address="true" + ynh_app_setting_set --app=$app --key=mail_address --value=$mail_address +fi + +if [ -z "${mail_name:-}" ]; then + mail_name="true" + ynh_app_setting_set --app=$app --key=mail_name --value=$mail_name +fi + # Delete deprecated `firstname`/`lastname` settings. See upstream https://github.com/YunoHost/yunohost/pull/1516 ynh_app_setting_delete --key=email_firstname 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)" +mail_from_name=$(ynh_app_setting_get --key=mail_from_name) +if [ -z "$mail_from_name" ]; then + mail_from_name="${app}@${domain}" + ynh_app_setting_set --key=mail_from_name --value="$mail_from_name" +fi + +mail_from_sender=$(ynh_app_setting_get --key=mail_from_sender) +if [ -z "$mail_from_sender" ]; then + mail_from_sender="${app}@${domain}" + ynh_app_setting_set --key=mail_from_sender --value="$mail_from_sender" +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..ed7df47 100644 --- a/tests.toml +++ b/tests.toml @@ -12,6 +12,9 @@ test_format = 1.0 # Default args to use for install # ------------------------------- + args.mail_address = "invoiceninja@domain.tld" + args.mail_name = "invoiceninja" + # ------------------------------- # Commits to test upgrade from # ------------------------------- From c0e3ea3d730c0e1915436fdb4c48123d8160b15f Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Sun, 8 Feb 2026 23:44:05 -0600 Subject: [PATCH 02/17] Fix calls to ynh_app_setting_(g|s)et --- scripts/install | 4 ++-- scripts/upgrade | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/install b/scripts/install index 27e8806..1f3b7b8 100755 --- a/scripts/install +++ b/scripts/install @@ -14,8 +14,8 @@ api_secret="$(ynh_string_random --length=32)" app_key="$(ynh_string_random --length=32)" phantomjs_key="$(ynh_string_random --length=32)" -mail_address=$(ynh_app_setting_get --app=$mail_address --key=mail_address) -mail_name=$(ynh_app_setting_get --app=$mail_name --key=mail_name) +mail_address=$(ynh_app_setting_get --key=mail_address) +mail_name=$(ynh_app_setting_get --key=mail_name) ynh_app_setting_set --key=api_secret --value=$api_secret ynh_app_setting_set --key=app_key --value=$app_key diff --git a/scripts/upgrade b/scripts/upgrade index 2115299..b5228fe 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -13,12 +13,12 @@ ynh_script_progression "Ensuring downward compatibility..." if [ -z "${mail_address:-}" ]; then mail_address="true" - ynh_app_setting_set --app=$app --key=mail_address --value=$mail_address + ynh_app_setting_set --key=mail_address --value=$mail_address fi if [ -z "${mail_name:-}" ]; then mail_name="true" - ynh_app_setting_set --app=$app --key=mail_name --value=$mail_name + ynh_app_setting_set --key=mail_name --value=$mail_name fi # Delete deprecated `firstname`/`lastname` settings. See upstream https://github.com/YunoHost/yunohost/pull/1516 From db0223e56a4bc46069ae0cb8fae591a1f03682ec Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Mon, 9 Feb 2026 00:05:45 -0600 Subject: [PATCH 03/17] Change type for mail name --- config_panel.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config_panel.toml b/config_panel.toml index 3cfce15..7506a67 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -13,6 +13,6 @@ name = "InvoicNinja configuration" [main.config.mail_name] ask = "from name" - type = "name" + type = "string" help = "Default name address to use for various automated names." bind = "MAIL_FROM_NAME:__INSTALL_DIR__/.env" \ No newline at end of file From e3aa367939669aa8d53104a2abdce2a86cc18736 Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Mon, 9 Feb 2026 00:08:35 -0600 Subject: [PATCH 04/17] Fix ask strings --- manifest.toml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/manifest.toml b/manifest.toml index 7590b8d..e4e4a37 100644 --- a/manifest.toml +++ b/manifest.toml @@ -51,18 +51,16 @@ ram.runtime = "50M" type = "user" [install.password] - help.en = "The password to login into InvoiceNinja." - help.fr = "Le mot de passe pour se connecter à InvoiceNinja." type = "password" [install.mail_name] - help.en = "Choose what name will be displayed when InvoiceNinja sends mails." - help.fr = "" + ask.en = "Choose what name will be displayed when InvoiceNinja sends mails." + ask.fr = "" type = "string" default = "" [install.mail_address] - help.en = "Choose from which mail-address emails will be send." + ask.en = "Choose from which mail-address emails will be send." help.fr = "" type = "email" default = "" From c7062c72b283db774aee28b3ee73a45901f299e9 Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Mon, 9 Feb 2026 00:19:17 -0600 Subject: [PATCH 05/17] Translate ask strings --- manifest.toml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/manifest.toml b/manifest.toml index e4e4a37..50111bb 100644 --- a/manifest.toml +++ b/manifest.toml @@ -54,14 +54,14 @@ ram.runtime = "50M" type = "password" [install.mail_name] - ask.en = "Choose what name will be displayed when InvoiceNinja sends mails." - ask.fr = "" + 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" type = "string" - default = "" + default = "Invoice Ninja" [install.mail_address] - ask.en = "Choose from which mail-address emails will be send." - help.fr = "" + 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" type = "email" default = "" From cdde64f796adf9f951ba05dcfd67e8f7564ad0e1 Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Mon, 9 Feb 2026 00:19:44 -0600 Subject: [PATCH 06/17] Explicitly set mail settings --- scripts/install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index 1f3b7b8..0f0e929 100755 --- a/scripts/install +++ b/scripts/install @@ -20,8 +20,8 @@ mail_name=$(ynh_app_setting_get --key=mail_name) 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=mail_address --value="$mail_address" -#ynh_app_setting_set --key=mail_name --value="$mail_name" +ynh_app_setting_set --key=mail_address --value="$mail_address" +ynh_app_setting_set --key=mail_name --value="$mail_name" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE From adddba2bd0e7cd9d86577186686913f362bebec7 Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Mon, 9 Feb 2026 00:29:58 -0600 Subject: [PATCH 07/17] Fix indent in config_panel --- config_panel.toml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/config_panel.toml b/config_panel.toml index 7506a67..9711fe1 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -2,17 +2,17 @@ version = "1.0" [main] name = "InvoicNinja configuration" - [main.config] - name = "Configuration Options" + [main.config] + name = "Configuration Options" [main.config.mail_address] - ask = "from email" - type = "email" + 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.mail_name] - ask = "from name" - type = "string" + 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" \ No newline at end of file + bind = "MAIL_FROM_NAME:__INSTALL_DIR__/.env" From 39eb89fbe91e29eccc84d9783f899d3e740274b3 Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Mon, 9 Feb 2026 09:20:37 -0600 Subject: [PATCH 08/17] Use example values instead of default during install, var renmaing --- config_panel.toml | 4 ++-- manifest.toml | 8 ++++---- scripts/install | 8 ++++---- scripts/upgrade | 8 ++++---- tests.toml | 4 ++-- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/config_panel.toml b/config_panel.toml index 9711fe1..6666526 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -5,13 +5,13 @@ name = "InvoicNinja configuration" [main.config] name = "Configuration Options" - [main.config.mail_address] + [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.mail_name] + [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." diff --git a/manifest.toml b/manifest.toml index 50111bb..894d689 100644 --- a/manifest.toml +++ b/manifest.toml @@ -53,17 +53,17 @@ ram.runtime = "50M" [install.password] type = "password" - [install.mail_name] + [install.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" type = "string" - default = "Invoice Ninja" + example = "Invoice Ninja" - [install.mail_address] + [install.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" type = "email" - default = "" + example = "invoiceninja@example.com" [resources] diff --git a/scripts/install b/scripts/install index 0f0e929..219a3fb 100755 --- a/scripts/install +++ b/scripts/install @@ -14,14 +14,14 @@ api_secret="$(ynh_string_random --length=32)" app_key="$(ynh_string_random --length=32)" phantomjs_key="$(ynh_string_random --length=32)" -mail_address=$(ynh_app_setting_get --key=mail_address) -mail_name=$(ynh_app_setting_get --key=mail_name) +mail_address=$(ynh_app_setting_get --key=default_from_email_address) +mail_name=$(ynh_app_setting_get --key=default_from_email_name) 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=mail_address --value="$mail_address" -ynh_app_setting_set --key=mail_name --value="$mail_name" +ynh_app_setting_set --key=default_from_email_address --value="$mail_address" +ynh_app_setting_set --key=default_from_email_name --value="$mail_name" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE diff --git a/scripts/upgrade b/scripts/upgrade index b5228fe..a2c78e5 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -12,13 +12,13 @@ source /usr/share/yunohost/helpers ynh_script_progression "Ensuring downward compatibility..." if [ -z "${mail_address:-}" ]; then - mail_address="true" - ynh_app_setting_set --key=mail_address --value=$mail_address + mail_address="${app}@${domain}" + ynh_app_setting_set --key=default_from_email_address --value=$mail_address fi if [ -z "${mail_name:-}" ]; then - mail_name="true" - ynh_app_setting_set --key=mail_name --value=$mail_name + mail_name="${app}@${domain}" + ynh_app_setting_set --key=default_from_email_name --value=$mail_name fi # Delete deprecated `firstname`/`lastname` settings. See upstream https://github.com/YunoHost/yunohost/pull/1516 diff --git a/tests.toml b/tests.toml index ed7df47..23744f9 100644 --- a/tests.toml +++ b/tests.toml @@ -12,8 +12,8 @@ test_format = 1.0 # Default args to use for install # ------------------------------- - args.mail_address = "invoiceninja@domain.tld" - args.mail_name = "invoiceninja" + args.default_from_email_address = "invoiceninja@example.tld" + args.default_from_email_name = "invoiceninja" # ------------------------------- # Commits to test upgrade from From 405898f1086aea7c5b043db00303740a67ed4edd Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Mon, 9 Feb 2026 09:37:13 -0600 Subject: [PATCH 09/17] Remove question from manifest --- manifest.toml | 12 ------------ scripts/install | 8 ++++---- scripts/upgrade | 18 ++++-------------- 3 files changed, 8 insertions(+), 30 deletions(-) diff --git a/manifest.toml b/manifest.toml index 894d689..9edefb4 100644 --- a/manifest.toml +++ b/manifest.toml @@ -53,18 +53,6 @@ ram.runtime = "50M" [install.password] type = "password" - [install.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" - type = "string" - example = "Invoice Ninja" - - [install.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" - type = "email" - example = "invoiceninja@example.com" - [resources] [resources.sources] diff --git a/scripts/install b/scripts/install index 219a3fb..b539652 100755 --- a/scripts/install +++ b/scripts/install @@ -14,14 +14,14 @@ api_secret="$(ynh_string_random --length=32)" app_key="$(ynh_string_random --length=32)" phantomjs_key="$(ynh_string_random --length=32)" -mail_address=$(ynh_app_setting_get --key=default_from_email_address) -mail_name=$(ynh_app_setting_get --key=default_from_email_name) +email_fullname="$(ynh_user_get_info --username=$admin --key=fullname)" +email="$(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="$mail_address" -ynh_app_setting_set --key=default_from_email_name --value="$mail_name" +ynh_app_setting_set --key=default_from_email_address --value="$email" +ynh_app_setting_set --key=default_from_email_name --value="$email_fullname" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE diff --git a/scripts/upgrade b/scripts/upgrade index a2c78e5..960bba4 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -11,32 +11,22 @@ source /usr/share/yunohost/helpers #================================================= ynh_script_progression "Ensuring downward compatibility..." -if [ -z "${mail_address:-}" ]; then - mail_address="${app}@${domain}" - ynh_app_setting_set --key=default_from_email_address --value=$mail_address -fi - -if [ -z "${mail_name:-}" ]; then - mail_name="${app}@${domain}" - ynh_app_setting_set --key=default_from_email_name --value=$mail_name -fi - # Delete deprecated `firstname`/`lastname` settings. See upstream https://github.com/YunoHost/yunohost/pull/1516 ynh_app_setting_delete --key=email_firstname ynh_app_setting_delete --key=email_lastname ynh_app_setting_delete --key=email # also delete unnecessary duplicate of state storage # Retrieve `$admin` user settings -mail_from_name=$(ynh_app_setting_get --key=mail_from_name) +mail_from_name=$(ynh_app_setting_get --key=default_from_email_address) if [ -z "$mail_from_name" ]; then mail_from_name="${app}@${domain}" - ynh_app_setting_set --key=mail_from_name --value="$mail_from_name" + ynh_app_setting_set --key=default_from_email_address --value="$mail_from_name" fi -mail_from_sender=$(ynh_app_setting_get --key=mail_from_sender) +mail_from_sender=$(ynh_app_setting_get --key=default_from_email_name) if [ -z "$mail_from_sender" ]; then mail_from_sender="${app}@${domain}" - ynh_app_setting_set --key=mail_from_sender --value="$mail_from_sender" + ynh_app_setting_set --key=default_from_email_name --value="$mail_from_sender" fi ynh_app_setting_set_default --key=api_secret --value="$(ynh_string_random --length=32)" From a22b50e3bd786bca117706136a1db679a1ebb4c1 Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Mon, 9 Feb 2026 09:41:58 -0600 Subject: [PATCH 10/17] Update .env --- conf/default.env | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/default.env b/conf/default.env index 0969057..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='__MAIL_ADDRESS__' -MAIL_FROM_NAME='__MAIL_NAME__' +MAIL_FROM_ADDRESS='__DEFAULT_FROM_EMAIL_ADDRESS__' +MAIL_FROM_NAME='__DEFAULT_FROM_EMAIL_NAME__' DEMO_MODE=false From 684f232d4a3ce7eb70d401d6a1437ffa916d3d5d Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Mon, 9 Feb 2026 09:52:44 -0600 Subject: [PATCH 11/17] Rename variables according to key names --- scripts/install | 8 ++++---- scripts/upgrade | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/scripts/install b/scripts/install index b539652..f8cd020 100755 --- a/scripts/install +++ b/scripts/install @@ -14,14 +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="$email" -ynh_app_setting_set --key=default_from_email_name --value="$email_fullname" +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 diff --git a/scripts/upgrade b/scripts/upgrade index 960bba4..de2e82e 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -17,16 +17,16 @@ ynh_app_setting_delete --key=email_lastname ynh_app_setting_delete --key=email # also delete unnecessary duplicate of state storage # Retrieve `$admin` user settings -mail_from_name=$(ynh_app_setting_get --key=default_from_email_address) -if [ -z "$mail_from_name" ]; then - mail_from_name="${app}@${domain}" - ynh_app_setting_set --key=default_from_email_address --value="$mail_from_name" +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 -mail_from_sender=$(ynh_app_setting_get --key=default_from_email_name) -if [ -z "$mail_from_sender" ]; then - mail_from_sender="${app}@${domain}" - ynh_app_setting_set --key=default_from_email_name --value="$mail_from_sender" +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)" From e428feea79cecb32c295d9942c1e8b4e8862fea5 Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Mon, 9 Feb 2026 09:57:45 -0600 Subject: [PATCH 12/17] Fix unbound var --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index f8cd020..b87a458 100755 --- a/scripts/install +++ b/scripts/install @@ -57,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 $mail_address --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 From c3cd02eba77250b8843893a04b225682b04d013b Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sat, 7 Mar 2026 00:24:34 +0100 Subject: [PATCH 13/17] Upgrade sources - `main` v5.12.70: https://github.com/invoiceninja/invoiceninja/releases/tag/v5.12.70 --- manifest.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index 7a6b6d0..b2972d7 100644 --- a/manifest.toml +++ b/manifest.toml @@ -7,7 +7,7 @@ name = "InvoiceNinja 5" description.en = "Create and email invoices, track payments, expenses, and time tasks" description.fr = "Créer et envoyer des factures par e-mail, suivre les paiements, les dépenses et les tâches horaires" -version = "5.12.69~ynh1" +version = "5.12.70~ynh1" maintainers = ["Sebastian Gumprich"] @@ -60,8 +60,8 @@ ram.runtime = "50M" [resources.sources] [resources.sources.main] - url = "https://github.com/invoiceninja/invoiceninja/releases/download/v5.12.69/invoiceninja.tar" - sha256 = "ca97b853c9c2a2ff1c82fa374a48f23245077cdef911e2748a1543cac5f50139" + url = "https://github.com/invoiceninja/invoiceninja/releases/download/v5.12.70/invoiceninja.tar" + sha256 = "b631ba3651873f0635131e4c518eff5f0cc803ecfd28bcf3ab012db5be3181fc" format = "tar.gz" in_subdir = false autoupdate.strategy = "latest_github_release" From 5718cb54afbc4b8f38431f9f0d8f383e1bfe422c Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sat, 7 Mar 2026 00:24:44 +0100 Subject: [PATCH 14/17] Auto-update READMEs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d8848d6..9a9614f 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Create and email invoices, track payments, expenses, and time tasks [![🌐 Official app website](https://img.shields.io/badge/Official_app_website-darkgreen?style=for-the-badge)](https://invoiceninja.org) [![App Demo](https://img.shields.io/badge/App_Demo-blue?style=for-the-badge)](https://react.invoicing.co/demo) -[![Version: 5.12.69~ynh1](https://img.shields.io/badge/Version-5.12.69~ynh1-rgb(18,138,11)?style=for-the-badge)](https://ci-apps.yunohost.org/ci/apps/invoiceninja5/) +[![Version: 5.12.70~ynh1](https://img.shields.io/badge/Version-5.12.70~ynh1-rgb(18,138,11)?style=for-the-badge)](https://ci-apps.yunohost.org/ci/apps/invoiceninja5/)
From 3d580e129d1d1a722cbdabf6df6af3530544a88a Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Thu, 12 Mar 2026 13:10:24 -0500 Subject: [PATCH 15/17] Add missing ynh_app_config_run $1 --- scripts/config | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/config b/scripts/config index ebec969..f172286 100644 --- a/scripts/config +++ b/scripts/config @@ -1,9 +1,10 @@ -# we need to clear invoiceninja's cache after updating vars -# through the config-panel. +# 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 -} \ No newline at end of file +} + +ynh_app_config_run $1 From 5f26d572110e1d24093b1e6bb7470fd5bd365199 Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Thu, 12 Mar 2026 13:16:57 -0500 Subject: [PATCH 16/17] Source YNH helpers --- scripts/config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/config b/scripts/config index f172286..61babb6 100644 --- a/scripts/config +++ b/scripts/config @@ -1,3 +1,5 @@ +source /usr/share/yunohost/helpers + # Cache needs to be cleared after updating vars through config panel ynh_app_config_apply() { _ynh_app_config_apply From 1c2380af36af78329043f83cca6b765714a2f942 Mon Sep 17 00:00:00 2001 From: CodeShakingSheep <19874562+CodeShakingSheep@users.noreply.github.com> Date: Mon, 30 Mar 2026 09:57:39 -0500 Subject: [PATCH 17/17] Explicitly make config file a bash script --- scripts/config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/config b/scripts/config index 61babb6..16f9ec9 100644 --- a/scripts/config +++ b/scripts/config @@ -1,3 +1,5 @@ +#!/bin/bash + source /usr/share/yunohost/helpers # Cache needs to be cleared after updating vars through config panel