Fix activity emails for accept/decline of remote shares

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2017-07-10 12:10:36 +02:00
parent c7b28064e3
commit b69ddfba8b
No known key found for this signature in database
GPG Key ID: E166FD8976B3BAC8
2 changed files with 13 additions and 7 deletions

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);

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]),
];
}