|
|
@@ -88,23 +88,15 @@ class Notifier implements INotifier, IDismissableNotifier { |
|
|
|
throw new \InvalidArgumentException('Unhandled app'); |
|
|
|
} |
|
|
|
|
|
|
|
if ($notification->getSubject() === 'transferownershipRequest') { |
|
|
|
return $this->handleTransferownershipRequest($notification, $languageCode); |
|
|
|
} |
|
|
|
if ($notification->getSubject() === 'transferOwnershipFailedSource') { |
|
|
|
return $this->handleTransferOwnershipFailedSource($notification, $languageCode); |
|
|
|
} |
|
|
|
if ($notification->getSubject() === 'transferOwnershipFailedTarget') { |
|
|
|
return $this->handleTransferOwnershipFailedTarget($notification, $languageCode); |
|
|
|
} |
|
|
|
if ($notification->getSubject() === 'transferOwnershipDoneSource') { |
|
|
|
return $this->handleTransferOwnershipDoneSource($notification, $languageCode); |
|
|
|
} |
|
|
|
if ($notification->getSubject() === 'transferOwnershipDoneTarget') { |
|
|
|
return $this->handleTransferOwnershipDoneTarget($notification, $languageCode); |
|
|
|
} |
|
|
|
|
|
|
|
throw new \InvalidArgumentException('Unhandled subject'); |
|
|
|
return match($notification->getSubject()) { |
|
|
|
'transferownershipRequest' => $this->handleTransferownershipRequest($notification, $languageCode), |
|
|
|
'transferownershipRequestDenied' => $this->handleTransferOwnershipRequestDenied($notification, $languageCode), |
|
|
|
'transferOwnershipFailedSource' => $this->handleTransferOwnershipFailedSource($notification, $languageCode), |
|
|
|
'transferOwnershipFailedTarget' => $this->handleTransferOwnershipFailedTarget($notification, $languageCode), |
|
|
|
'transferOwnershipDoneSource' => $this->handleTransferOwnershipDoneSource($notification, $languageCode), |
|
|
|
'transferOwnershipDoneTarget' => $this->handleTransferOwnershipDoneTarget($notification, $languageCode), |
|
|
|
default => throw new \InvalidArgumentException('Unhandled subject') |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
public function handleTransferownershipRequest(INotification $notification, string $languageCode): INotification { |
|
|
@@ -163,6 +155,29 @@ class Notifier implements INotifier, IDismissableNotifier { |
|
|
|
return $notification; |
|
|
|
} |
|
|
|
|
|
|
|
public function handleTransferOwnershipRequestDenied(INotification $notification, string $languageCode): INotification { |
|
|
|
$l = $this->l10nFactory->get('files', $languageCode); |
|
|
|
$param = $notification->getSubjectParameters(); |
|
|
|
|
|
|
|
$targetUser = $this->getUser($param['targetUser']); |
|
|
|
$notification->setRichSubject($l->t('Ownership transfer denied')) |
|
|
|
->setRichMessage( |
|
|
|
$l->t('Your ownership transfer of {path} was denied by {user}.'), |
|
|
|
[ |
|
|
|
'path' => [ |
|
|
|
'type' => 'highlight', |
|
|
|
'id' => $param['targetUser'] . '::' . $param['nodeName'], |
|
|
|
'name' => $param['nodeName'], |
|
|
|
], |
|
|
|
'user' => [ |
|
|
|
'type' => 'user', |
|
|
|
'id' => $targetUser->getUID(), |
|
|
|
'name' => $targetUser->getDisplayName(), |
|
|
|
], |
|
|
|
]); |
|
|
|
return $notification; |
|
|
|
} |
|
|
|
|
|
|
|
public function handleTransferOwnershipFailedSource(INotification $notification, string $languageCode): INotification { |
|
|
|
$l = $this->l10nFactory->get('files', $languageCode); |
|
|
|
$param = $notification->getSubjectParameters(); |