From 0f2013d24fd709bc9324d833259bf49cb0707c3e Mon Sep 17 00:00:00 2001 From: fenn-cs Date: Thu, 26 Sep 2024 13:00:52 +0200 Subject: fix(ShareAPI): Send mails for mail shares by default It looks like, the frontend it needs to provide the `sendMail` param for the backend to decide wether mails would be sent. Our UI does not have that at the moment so it should default to sending emails always for mail shares. Not exactly sure how this was handled earlier but this is a good starting point. Resolves : https://github.com/nextcloud/server/issues/48012 Signed-off-by: fenn-cs --- apps/files_sharing/lib/Controller/ShareAPIController.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'apps/files_sharing') diff --git a/apps/files_sharing/lib/Controller/ShareAPIController.php b/apps/files_sharing/lib/Controller/ShareAPIController.php index 1be1fdbbde9..0d825deea9e 100644 --- a/apps/files_sharing/lib/Controller/ShareAPIController.php +++ b/apps/files_sharing/lib/Controller/ShareAPIController.php @@ -658,7 +658,16 @@ class ShareAPIController extends OCSController { $this->checkInheritedAttributes($share); // Handle mail send - if ($sendMail === 'true' || $sendMail === 'false') { + if (is_null($sendMail)) { + // Define a default behavior when sendMail is not provided + if ($shareType === IShare::TYPE_EMAIL && strlen($shareWith) !== 0) { + // For email shares, the default is to send the mail + $share->setMailSend(true); + } else { + // For all other share types, the default is to not send the mail + $share->setMailSend(false); + } + } else { $share->setMailSend($sendMail === 'true'); } -- cgit v1.2.3