1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/kresus_ynh.git synced 2024-09-03 19:36:10 +02:00

Send email to admin to inform about installation and/or install

This commit is contained in:
Jean-Baptiste Holcroft 2018-08-08 23:35:41 +02:00
parent 6d2d0204e0
commit 94678ab633
4 changed files with 97 additions and 1 deletions

View file

@ -16,7 +16,6 @@ Kresus is an open-source libre self-hosted personal finance manager. It allows y
* to be added:
* [ ] Email support
* [ ] Add user who will access the app (by default every one has access to the installed app)
* [ ] Email admin about installation with ynh_send_readme_to_admin helper
## Links

View file

@ -164,3 +164,64 @@ EOF
chmod +x "/etc/cron.daily/node_update"
}
# Send an email to inform the administrator
#
# usage: ynh_send_readme_to_admin app_message [recipients]
# | arg: app_message - The message to send to the administrator.
# | arg: 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"
ynh_send_readme_to_admin() {
local app_message="${1:-...No specific information...}"
local recipients="${2:-root}"
# Retrieve the email of users
find_mails () {
local list_mails="$1"
local mail
local recipients=" "
# Read each mail in argument
for mail in $list_mails
do
# Keep root or a real email address as it is
if [ "$mail" = "root" ] || echo "$mail" | grep --quiet "@"
then
recipients="$recipients $mail"
else
# But replace an user name without a domain after by its email
if mail=$(ynh_user_get_info "$mail" "mail" 2> /dev/null)
then
recipients="$recipients $mail"
fi
fi
done
echo "$recipients"
}
recipients=$(find_mails "$recipients")
local mail_subject="☁️🆈🅽🅷☁️: \`$app\` was just installed!"
local mail_message="This is an automated message from your beloved YunoHost server.
Specific information for the application $app.
$app_message
---
Automatic diagnosis data from YunoHost
$(yunohost tools diagnosis | grep -B 100 "services:" | sed '/services:/d')"
# Define binary to use for mail command
if [ -e /usr/bin/bsd-mailx ]
then
local mail_bin=/usr/bin/bsd-mailx
else
local mail_bin=/usr/bin/mail.mailutils
fi
# Send the email to the recipients
echo "$mail_message" | $mail_bin -a "Content-Type: text/plain; charset=UTF-8" -s "$mail_subject" "$recipients"
}

View file

@ -165,3 +165,20 @@ chmod 600 "$final_path/config.ini"
service "$app" start
service nginx reload
#=================================================
# SEND README TO ADMIN
#=================================================
message="
Domain: $domain
Path : $path_url
Config: $final_path/config.ini
Please remember the default behavior of YunoHost when installing a new app is: everyone has access to the app.
This may be an issue for Kresus as it is a personnal tool. Please remember to edit access rights in the YunoHost web administration panel or using command line interface.
Are you facing an issue, want to improve this app or say thank you?
Please open a new issue in this project: https://github.com/YunoHost-Apps/kresus_ynh
"
ynh_send_readme_to_admin "$message"

View file

@ -179,3 +179,22 @@ chmod 600 "$final_path/config.ini"
service "$app" restart
systemctl reload nginx
#=================================================
# SEND README TO ADMIN
#=================================================
message="
Kresus was updated!
Domain: $domain
Path : $path_url
Config: $final_path/config.ini
Please remember the default behavior of YunoHost when installing a new app is: everyone has access to the app.
This may be an issue for Kresus as it is a personnal tool. Please remember to edit access rights in the YunoHost web administration panel or using command line interface.
Are you facing an issue, want to improve this app or say thank you?
Please open a new issue in this project: https://github.com/YunoHost-Apps/kresus_ynh
"
ynh_send_readme_to_admin "$message"