From e5bc45c34934ea16af622d5cafe5c4946f688c20 Mon Sep 17 00:00:00 2001
From: Roeland Jago Douma <roeland@famdouma.nl>
Date: Tue, 25 Oct 2016 10:18:42 +0200
Subject: [PATCH] Fix OCS API to be able to remove group shares from self as
 recipient

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
---
 .../lib/Controller/ShareAPIController.php              | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/apps/files_sharing/lib/Controller/ShareAPIController.php b/apps/files_sharing/lib/Controller/ShareAPIController.php
index ad9ac6c0851..0d62ba48ed5 100644
--- a/apps/files_sharing/lib/Controller/ShareAPIController.php
+++ b/apps/files_sharing/lib/Controller/ShareAPIController.php
@@ -245,11 +245,17 @@ class ShareAPIController extends OCSController {
 			throw new OCSNotFoundException($this->l->t('could not delete share'));
 		}
 
-		if (!$this->canAccessShare($share, false)) {
+		if (!$this->canAccessShare($share)) {
 			throw new OCSNotFoundException($this->l->t('Could not delete share'));
 		}
 
-		$this->shareManager->deleteShare($share);
+		if ($share->getShareType() === \OCP\Share::SHARE_TYPE_GROUP &&
+			$share->getShareOwner() !== $this->currentUser &&
+			$share->getSharedBy() !== $this->currentUser) {
+			$this->shareManager->deleteFromSelf($share, $this->currentUser);
+		} else {
+			$this->shareManager->deleteShare($share);
+		}
 
 		return new DataResponse();
 	}
-- 
GitLab