Browse Source

Fix activity emails for accept/decline of remote shares

Signed-off-by: Joas Schilling <coding@schilljs.com>
tags/v13.0.0beta1
Joas Schilling 7 years ago
parent
commit
b69ddfba8b
No account linked to committer's email address

+ 8
- 6
apps/federatedfilesharing/lib/Controller/RequestHandlerController.php View File

@@ -318,14 +318,15 @@ class RequestHandlerController extends OCSController {
}

protected function executeAcceptShare(Share\IShare $share) {
list($file, $link) = $this->getFile($this->getCorrectUid($share), $share->getNode()->getId());
$fileId = (int) $share->getNode()->getId();
list($file, $link) = $this->getFile($this->getCorrectUid($share), $fileId);

$event = \OC::$server->getActivityManager()->generateEvent();
$event->setApp('files_sharing')
->setType('remote_share')
->setAffectedUser($this->getCorrectUid($share))
->setSubject(RemoteShares::SUBJECT_REMOTE_SHARE_ACCEPTED, [$share->getSharedWith(), $file])
->setObject('files', (int)$share->getNode()->getId(), $file)
->setSubject(RemoteShares::SUBJECT_REMOTE_SHARE_ACCEPTED, [$share->getSharedWith(), [$fileId => $file]])
->setObject('files', $fileId, $file)
->setLink($link);
\OC::$server->getActivityManager()->publish($event);
}
@@ -373,14 +374,15 @@ class RequestHandlerController extends OCSController {
*/
protected function executeDeclineShare(Share\IShare $share) {
$this->federatedShareProvider->removeShareFromTable($share);
list($file, $link) = $this->getFile($this->getCorrectUid($share), $share->getNode()->getId());
$fileId = (int) $share->getNode()->getId();
list($file, $link) = $this->getFile($this->getCorrectUid($share), $fileId);

$event = \OC::$server->getActivityManager()->generateEvent();
$event->setApp('files_sharing')
->setType('remote_share')
->setAffectedUser($this->getCorrectUid($share))
->setSubject(RemoteShares::SUBJECT_REMOTE_SHARE_DECLINED, [$share->getSharedWith(), $file])
->setObject('files', (int)$share->getNode()->getId(), $file)
->setSubject(RemoteShares::SUBJECT_REMOTE_SHARE_DECLINED, [$share->getSharedWith(), [$fileId => $file]])
->setObject('files', $fileId, $file)
->setLink($link);
\OC::$server->getActivityManager()->publish($event);


+ 5
- 1
apps/files_sharing/lib/Activity/Providers/RemoteShares.php View File

@@ -131,8 +131,12 @@ class RemoteShares extends Base {
];
case self::SUBJECT_REMOTE_SHARE_ACCEPTED:
case self::SUBJECT_REMOTE_SHARE_DECLINED:
$fileParameter = $parameters[1];
if (!is_array($fileParameter)) {
$fileParameter = [$event->getObjectId() => $event->getObjectName()];
}
return [
'file' => $this->getFile([$event->getObjectId() => $event->getObjectName()]),
'file' => $this->getFile($fileParameter),
'user' => $this->getFederatedUser($parameters[0]),
];
}

Loading…
Cancel
Save