feat(notify): add notif to internal users when granted

- add coalesced protection to avoid mail bombing if an invited goes many grant in a short period
    - add resentd method in share menu item (work for both internal and external users)
    - user can disable email notification via his properties
    - add env variable from admin to disable notifications
This commit is contained in:
Edouard Vanbelle
2026-06-05 09:46:51 +02:00
parent b8e8fcd7dc
commit 8cc21f17c5
45 changed files with 1906 additions and 81 deletions
+9 -1
View File
@@ -20,7 +20,7 @@
"email": {
"invitation": {
"subject": "{{inviter}} a partagé un {{kind}} avec vous sur OxiCloud",
"body": "{{inviter}} a partagé un {{kind}} avec vous sur OxiCloud.\n\nOuvrez-le en cliquant sur le lien ci-dessous :\n{{link}}\n\nLe lien est à usage unique et expire dans {{ttl_hours}} heures.\nSi vous n'attendiez pas cette invitation, vous pouvez ignorer ce message.\n\n— OxiCloud"
"body": "{{inviter_full}} a partagé un {{kind}} avec vous sur OxiCloud.\n\nOuvrez-le en cliquant sur le lien ci-dessous :\n{{link}}\n\nLe lien est à usage unique et expire dans {{ttl_hours}} heures.\nSi vous n'attendiez pas cette invitation, vous pouvez ignorer ce message.\n\n— OxiCloud"
},
"login": {
"subject": "Connexion à OxiCloud",
@@ -30,6 +30,12 @@
"kind_folder": "dossier",
"english_fallback_divider": "--- Version anglaise ci-dessous ---"
}
},
"notification": {
"share": {
"subject": "{{inviter}} a partagé un {{kind}} avec vous sur OxiCloud",
"body": "{{inviter_full}} a partagé un {{kind}} avec vous sur OxiCloud.\n\nOuvrez OxiCloud pour voir votre nouveau partage :\n{{login_link}}\n\nVous avez peut-être d'autres nouveaux partages de {{inviter}} — connectez-vous pour voir tous vos éléments partagés.\n\n— OxiCloud\n\nVous recevez ce message parce que vous avez un compte OxiCloud et que la préférence de notification de partage est activée. Vous pouvez la désactiver dans votre profil (M'avertir par e-mail quand quelqu'un partage avec moi)."
}
}
},
"app": {
@@ -759,6 +765,8 @@
"username_already_claimed": "Nom d'utilisateur fixé et non modifiable (les clients DAV/NextCloud en dépendent).",
"given_name": "Prénom",
"family_name": "Nom",
"notify_on_share": "M'avertir par e-mail quand quelqu'un partage avec moi",
"notify_on_share_hint": "Lorsque décoché, les partages apparaissent toujours dans votre compte — vous ne recevrez simplement pas d'e-mail à leur sujet.",
"save_profile": "Enregistrer",
"profile_saved": "Profil mis à jour",
"profile_no_changes": "Aucun changement à enregistrer.",