mirror of
https://github.com/nextcloud/server.git
synced 2026-04-20 22:00:39 -04:00
Merge pull request #36661 from onny/event-update-mail-subject
Invitation mail: Change subject if event got updated
This commit is contained in:
commit
0e5fcb49d4
3 changed files with 13 additions and 7 deletions
|
|
@ -183,6 +183,7 @@ class IMipPlugin extends SabreIMipPlugin {
|
|||
$vEvent = array_pop($modified['new']);
|
||||
/** @var VEvent $oldVevent */
|
||||
$oldVevent = !empty($modified['old']) && is_array($modified['old']) ? array_pop($modified['old']) : null;
|
||||
$isModified = isset($oldVevent);
|
||||
|
||||
// No changed events after all - this shouldn't happen if there is significant change yet here we are
|
||||
// The scheduling status is debatable
|
||||
|
|
@ -255,7 +256,7 @@ class IMipPlugin extends SabreIMipPlugin {
|
|||
$template = $this->mailer->createEMailTemplate('dav.calendarInvite.' . $method, $data);
|
||||
$template->addHeader();
|
||||
|
||||
$this->imipService->addSubjectAndHeading($template, $method, $data['invitee_name'], $data['meeting_title']);
|
||||
$this->imipService->addSubjectAndHeading($template, $method, $data['invitee_name'], $data['meeting_title'], $isModified);
|
||||
$this->imipService->addBulletList($template, $vEvent, $data);
|
||||
|
||||
// Only add response buttons to invitation requests: Fix Issue #11230
|
||||
|
|
|
|||
|
|
@ -363,9 +363,10 @@ class IMipService {
|
|||
* @param string $sender
|
||||
* @param string $summary
|
||||
* @param string|null $partstat
|
||||
* @param bool $isModified
|
||||
*/
|
||||
public function addSubjectAndHeading(IEMailTemplate $template,
|
||||
string $method, string $sender, string $summary): void {
|
||||
string $method, string $sender, string $summary, bool $isModified): void {
|
||||
if ($method === IMipPlugin::METHOD_CANCEL) {
|
||||
// TRANSLATORS Subject for email, when an invitation is cancelled. Ex: "Cancelled: {{Event Name}}"
|
||||
$template->setSubject($this->l10n->t('Cancelled: %1$s', [$summary]));
|
||||
|
|
@ -374,6 +375,10 @@ class IMipService {
|
|||
// TRANSLATORS Subject for email, when an invitation is replied to. Ex: "Re: {{Event Name}}"
|
||||
$template->setSubject($this->l10n->t('Re: %1$s', [$summary]));
|
||||
$template->addHeading($this->l10n->t('%1$s has responded to your invitation', [$sender]));
|
||||
} elseif ($method === IMipPlugin::METHOD_REQUEST && $isModified) {
|
||||
// TRANSLATORS Subject for email, when an invitation is updated. Ex: "Invitation updated: {{Event Name}}"
|
||||
$template->setSubject($this->l10n->t('Invitation updated: %1$s', [$summary]));
|
||||
$template->addHeading($this->l10n->t('%1$s updated the event "%2$s"', [$sender, $summary]));
|
||||
} else {
|
||||
// TRANSLATORS Subject for email, when an invitation is sent. Ex: "Invitation: {{Event Name}}"
|
||||
$template->setSubject($this->l10n->t('Invitation: %1$s', [$summary]));
|
||||
|
|
|
|||
|
|
@ -204,7 +204,7 @@ class IMipPluginTest extends TestCase {
|
|||
->method('getFrom');
|
||||
$this->service->expects(self::once())
|
||||
->method('addSubjectAndHeading')
|
||||
->with($this->emailTemplate, 'request', 'Mr. Wizard', 'Fellowship meeting without (!) Boromir');
|
||||
->with($this->emailTemplate, 'request', 'Mr. Wizard', 'Fellowship meeting without (!) Boromir', true);
|
||||
$this->service->expects(self::once())
|
||||
->method('addBulletList')
|
||||
->with($this->emailTemplate, $newVevent, $data);
|
||||
|
|
@ -296,7 +296,7 @@ class IMipPluginTest extends TestCase {
|
|||
->method('getFrom');
|
||||
$this->service->expects(self::once())
|
||||
->method('addSubjectAndHeading')
|
||||
->with($this->emailTemplate, 'request', 'Mr. Wizard', 'Elevenses');
|
||||
->with($this->emailTemplate, 'request', 'Mr. Wizard', 'Elevenses', false);
|
||||
$this->service->expects(self::once())
|
||||
->method('addBulletList')
|
||||
->with($this->emailTemplate, $newVevent, $data);
|
||||
|
|
@ -405,7 +405,7 @@ class IMipPluginTest extends TestCase {
|
|||
->method('getFrom');
|
||||
$this->service->expects(self::once())
|
||||
->method('addSubjectAndHeading')
|
||||
->with($this->emailTemplate, 'request', 'Mr. Wizard', 'Fellowship meeting without (!) Boromir');
|
||||
->with($this->emailTemplate, 'request', 'Mr. Wizard', 'Fellowship meeting without (!) Boromir', false);
|
||||
$this->service->expects(self::once())
|
||||
->method('addBulletList')
|
||||
->with($this->emailTemplate, $newVevent, $data);
|
||||
|
|
@ -480,7 +480,7 @@ class IMipPluginTest extends TestCase {
|
|||
->method('getFrom');
|
||||
$this->service->expects(self::once())
|
||||
->method('addSubjectAndHeading')
|
||||
->with($this->emailTemplate, 'request', 'Mr. Wizard', 'Fellowship meeting');
|
||||
->with($this->emailTemplate, 'request', 'Mr. Wizard', 'Fellowship meeting', false);
|
||||
$this->service->expects(self::once())
|
||||
->method('addBulletList')
|
||||
->with($this->emailTemplate, $newVevent, $data);
|
||||
|
|
@ -553,7 +553,7 @@ class IMipPluginTest extends TestCase {
|
|||
->method('getFrom');
|
||||
$this->service->expects(self::once())
|
||||
->method('addSubjectAndHeading')
|
||||
->with($this->emailTemplate, 'request', 'Mr. Wizard', 'Fellowship meeting');
|
||||
->with($this->emailTemplate, 'request', 'Mr. Wizard', 'Fellowship meeting', false);
|
||||
$this->service->expects(self::once())
|
||||
->method('addBulletList')
|
||||
->with($this->emailTemplate, $newVevent, $data);
|
||||
|
|
|
|||
Loading…
Reference in a new issue