From 1c65be49c616126bb8a7ee59bc5a7aba6ce4e894 Mon Sep 17 00:00:00 2001 From: Maniack Crudelis Date: Sat, 19 Jan 2019 18:55:14 +0100 Subject: [PATCH] Advertise config-panel and actions --- manifest.json | 4 ++-- scripts/_common.sh | 29 ++++++++++++++++++++++++----- scripts/install | 8 +++++++- scripts/restore | 8 +++++++- scripts/upgrade | 24 ++++++++++++++++++++++++ 5 files changed, 64 insertions(+), 9 deletions(-) diff --git a/manifest.json b/manifest.json index c3fd96c..bc86088 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Automatic backups.", "fr": "Sauvegardes automatiques." }, - "version": "0.7~ynh1", + "version": "0.7~ynh2", "url": "https://github.com/maniackcrudelis/archivist", "license": "GPL-3.0", "maintainer": { @@ -14,7 +14,7 @@ "email": "maniackc_dev@crudelis.fr" }, "requirements": { - "yunohost": ">= 2.7.14" + "yunohost": ">= 3.3.3" }, "multi_instance": true, "services": [], diff --git a/scripts/_common.sh b/scripts/_common.sh index 47521cf..7e02330 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -630,21 +630,24 @@ ynh_clean_check_starting () { # Send an email to inform the administrator # -# usage: ynh_send_readme_to_admin app_message [recipients] +# usage: ynh_send_readme_to_admin --app_message=app_message [--recipients=recipients] [--type=type] # | arg: -m --app_message= - The message to send to the administrator. # | arg: -r, --recipients= - The recipients of this email. Use spaces to separate multiples recipients. - default: root # example: "root admin@domain" # If you give the name of a YunoHost user, ynh_send_readme_to_admin will find its email adress for you # example: "root admin@domain user1 user2" +# | arg: -t, --type= - Type of mail, could be 'backup', 'change_url', 'install', 'remove', 'restore', 'upgrade' ynh_send_readme_to_admin() { # Declare an array to define the options of this helper. - declare -Ar args_array=( [m]=app_message= [r]=recipients= ) + declare -Ar args_array=( [m]=app_message= [r]=recipients= [t]=type= ) local app_message local recipients + local type # Manage arguments with getopts ynh_handle_getopts_args "$@" - local app_message="${app_message:-...No specific information...}" - local recipients="${recipients:-root}" + app_message="${app_message:-...No specific information...}" + recipients="${recipients:-root}" + type="${type:-install}" # Retrieve the email of users find_mails () { @@ -670,7 +673,23 @@ ynh_send_readme_to_admin() { } recipients=$(find_mails "$recipients") - local mail_subject="☁️🆈🅽🅷☁️: \`$app\` was just installed!" + # Subject base + local mail_subject="☁️🆈🅽🅷☁️: \`$app\`" + + # Adapt the subject according to the type of mail required. + if [ "$type" = "backup" ]; then + mail_subject="$mail_subject has just been backup." + elif [ "$type" = "change_url" ]; then + mail_subject="$mail_subject has just been moved to a new URL!" + elif [ "$type" = "remove" ]; then + mail_subject="$mail_subject has just been removed!" + elif [ "$type" = "restore" ]; then + mail_subject="$mail_subject has just been restored!" + elif [ "$type" = "upgrade" ]; then + mail_subject="$mail_subject has just been upgraded!" + else # install + mail_subject="$mail_subject has just been installed!" + fi local mail_message="This is an automated message from your beloved YunoHost server. diff --git a/scripts/install b/scripts/install index 4f993bd..5a74c34 100755 --- a/scripts/install +++ b/scripts/install @@ -205,13 +205,19 @@ else encrypt_message="" fi +# Get main domain and buid the url of the admin panel of the app. +admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app" + message="${encrypt_message}Archivist is going to run $run_freq. If you want to change the frequency, have a look to the file /etc/cron.d/$app. $Informations Please read the documentation (https://github.com/maniackcrudelis/archivist/blob/master/Configuration.md) about the configuration of archivist for more information. +You can configure this app easily by using the experimental [config-panel feature]($admin_panel/config-panel). +You can also find some specific actions for this app by using the experimental [action feature]($admin_panel/actions). + If you're facing an issue or want to improve this app, please open a new issue in this project: https://github.com/YunoHost-Apps/archivist_ynh" -ynh_send_readme_to_admin --app_message="$message" --recipients="root" +ynh_send_readme_to_admin --app_message="$message" --recipients="root" --type="install" ynh_print_ON diff --git a/scripts/restore b/scripts/restore index df87196..f7a358b 100755 --- a/scripts/restore +++ b/scripts/restore @@ -86,11 +86,17 @@ mkdir -p "/home/yunohost.app/${app}/backup" # SEND A README FOR THE ADMIN #================================================= +# Get main domain and buid the url of the admin panel of the app. +admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app" + message="If you want to change the frequency of Archivist, have a look to the file /etc/cron.d/$app. The configuration file of Archivist has been restored at $final_path/Backup_list.conf Please read the documentation (https://github.com/maniackcrudelis/archivist/blob/master/Configuration.md) about the configuration of archivist for more information. +You can configure this app easily by using the experimental config-panel feature: $admin_panel/config-panel. +You can also find some specific actions for this app by using the experimental action feature: $admin_panel/actions. + If you're facing an issue or want to improve this app, please open a new issue in this project: https://github.com/YunoHost-Apps/archivist_ynh" -ynh_send_readme_to_admin --app_message="$message" --recipients="root" +ynh_send_readme_to_admin --app_message="$message" --recipients="root" --type="restore" diff --git a/scripts/upgrade b/scripts/upgrade index 75877cc..0f5ec19 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -121,14 +121,19 @@ then ynh_replace_string "__APP__" "$app" /etc/cron.d/$app if [ "$frequency" = "Daily" ]; then cron_freq="0 2 * * *" + run_freq="every day" elif [ "$frequency" = "Each 3 days" ]; then cron_freq="0 2 */3 * *" + run_freq="each 3 days" elif [ "$frequency" = "Weekly" ]; then cron_freq="0 2 * * 0" + run_freq="once a week on sunday" elif [ "$frequency" = "Biweekly" ]; then cron_freq="0 2 * * 0/2" + run_freq="one sunday out of two" else # Monthly cron_freq="0 2 1 * *" + run_freq="once a month on the first sunday" fi ynh_replace_string "__FREQUENCY__" "$cron_freq" /etc/cron.d/$app @@ -151,3 +156,22 @@ ynh_use_logrotate --non-append # Set permissions on app files chown -R root: $final_path + +#================================================= +# SEND A README FOR THE ADMIN +#================================================= + +# Get main domain and buid the url of the admin panel of the app. +admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app" + +message="Archivist is going to run $run_freq. +If you want to change the frequency, have a look to the file /etc/cron.d/$app. + +Please read the documentation (https://github.com/maniackcrudelis/archivist/blob/master/Configuration.md) about the configuration of archivist for more information. + +You can configure this app easily by using the experimental config-panel feature: $admin_panel/config-panel. +You can also find some specific actions for this app by using the experimental action feature: $admin_panel/actions. + +If you're facing an issue or want to improve this app, please open a new issue in this project: https://github.com/YunoHost-Apps/archivist_ynh" + +ynh_send_readme_to_admin --app_message="$message" --recipients="root" --type="upgrade"