From 7eceba7daeee2076e2fa85077fca4c26e18e9410 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?=
 <skjnldsv@protonmail.com>
Date: Tue, 21 Apr 2020 08:42:28 +0200
Subject: [PATCH] Fix Sharing recommendation user display
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
---
 .../js/dist/files_sharing_tab.js              | Bin 976529 -> 976574 bytes
 .../js/dist/files_sharing_tab.js.map          | Bin 2828063 -> 2828110 bytes
 .../lib/Controller/ShareesAPIController.php   |  59 +++++++++---------
 .../src/components/SharingInput.vue           |   2 +-
 4 files changed, 31 insertions(+), 30 deletions(-)

diff --git a/apps/files_sharing/js/dist/files_sharing_tab.js b/apps/files_sharing/js/dist/files_sharing_tab.js
index abed87f77fb64909761c01b56d80cf2d60566133..0d6cf8303403c4783659532fda3b90a57e547e89 100644
GIT binary patch
delta 55
zcmbPu)_UJr>xLG_7N!>F7M2#)7Pc1l7LFFq7OocV7M?A<;^xyInDQF1ga*3?wac0F
LZkIFXD_#!(6?hT8

delta 53
zcmdmY)_USu>xLG_7N!>F7M2#)7Pc1l7LFFq7OocV7M?A<;^yp%sd}ZQnJMkw=Dgdz
J&H0Mg0|4&s5nccQ

diff --git a/apps/files_sharing/js/dist/files_sharing_tab.js.map b/apps/files_sharing/js/dist/files_sharing_tab.js.map
index 5547f3eebddfa9b36699f05ee2d88547c5b33286..905bf2bedd10d8642b4a6e4f85a6dbbce88b28af 100644
GIT binary patch
delta 243
zcmWN=!A^p30KnlvSW+aK8f951+8;c5VbIa7o4!Pg>K5Y(TEoeyt&Iam*S$j*$6Ijn
z3~#~N-?x3+;!i60zX}!4dvVh*Po&O=7RO-{hZ1ETQDK9}JYkb6PkENdp;m2V|0xM-
zjpuApXPX^fu*)9%yrjV^UUR@3-g3x0-qYlWV_KYWng{hm5M|%5!pPRYwwe7bg`QXM
cVy`w`_c8F_=Fi!u>{v+|3EFh>GMX)R2k(?>oB#j-

delta 241
zcmWN=I}X8c0Knm(-lg8}_p2DhAZbhzvs36_LLwTa2aqOu0E1EN28(oe09SAev)`9|
zpU=Z{<8xt1`gE*aPMUfd>}1<E9NX~FOCKfr8DNkhh8bbhwGH`u_HO2m_{oehPK603
znPQq5W|?E21r}LinH5%9W1S5)*<za=c3tu7iM`x3R|ji*99h;zxW2Xe4Tq*nT?kE|
TT<>qS>nNtmJ_oL14ri}F4b^8n

diff --git a/apps/files_sharing/lib/Controller/ShareesAPIController.php b/apps/files_sharing/lib/Controller/ShareesAPIController.php
index 557a92d0fca..bc63bfc5351 100644
--- a/apps/files_sharing/lib/Controller/ShareesAPIController.php
+++ b/apps/files_sharing/lib/Controller/ShareesAPIController.php
@@ -47,6 +47,7 @@ use OCP\Collaboration\Collaborators\SearchResultType;
 use OCP\IConfig;
 use OCP\IRequest;
 use OCP\IURLGenerator;
+use OCP\Share\IShare;
 use OCP\Share;
 use OCP\Share\IManager;
 use function usort;
@@ -156,39 +157,39 @@ class ShareesAPIController extends OCSController {
 		}
 
 		$shareTypes = [
-			Share::SHARE_TYPE_USER,
+			IShare::TYPE_USER,
 		];
 
 		if ($itemType === null) {
 			throw new OCSBadRequestException('Missing itemType');
 		} elseif ($itemType === 'file' || $itemType === 'folder') {
 			if ($this->shareManager->allowGroupSharing()) {
-				$shareTypes[] = Share::SHARE_TYPE_GROUP;
+				$shareTypes[] = IShare::TYPE_GROUP;
 			}
 
 			if ($this->isRemoteSharingAllowed($itemType)) {
-				$shareTypes[] = Share::SHARE_TYPE_REMOTE;
+				$shareTypes[] = IShare::TYPE_REMOTE;
 			}
 
 			if ($this->isRemoteGroupSharingAllowed($itemType)) {
-				$shareTypes[] = Share::SHARE_TYPE_REMOTE_GROUP;
+				$shareTypes[] = IShare::TYPE_REMOTE_GROUP;
 			}
 
-			if ($this->shareManager->shareProviderExists(Share::SHARE_TYPE_EMAIL)) {
-				$shareTypes[] = Share::SHARE_TYPE_EMAIL;
+			if ($this->shareManager->shareProviderExists(IShare::TYPE_EMAIL)) {
+				$shareTypes[] = IShare::TYPE_EMAIL;
 			}
 
-			if ($this->shareManager->shareProviderExists(Share::SHARE_TYPE_ROOM)) {
-				$shareTypes[] = Share::SHARE_TYPE_ROOM;
+			if ($this->shareManager->shareProviderExists(IShare::TYPE_ROOM)) {
+				$shareTypes[] = IShare::TYPE_ROOM;
 			}
 		} else {
-			$shareTypes[] = Share::SHARE_TYPE_GROUP;
-			$shareTypes[] = Share::SHARE_TYPE_EMAIL;
+			$shareTypes[] = IShare::TYPE_GROUP;
+			$shareTypes[] = IShare::TYPE_EMAIL;
 		}
 
 		// FIXME: DI
 		if (\OC::$server->getAppManager()->isEnabledForUser('circles') && class_exists('\OCA\Circles\ShareByCircleProvider')) {
-			$shareTypes[] = Share::SHARE_TYPE_CIRCLE;
+			$shareTypes[] = IShare::TYPE_CIRCLE;
 		}
 
 		if ($shareType !== null && is_array($shareType)) {
@@ -264,11 +265,11 @@ class ShareesAPIController extends OCSController {
 	}
 
 	private $searchResultTypeMap = [
-		Share::SHARE_TYPE_USER => 'users',
-		Share::SHARE_TYPE_GROUP => 'groups',
-		Share::SHARE_TYPE_REMOTE => 'remotes',
-		Share::SHARE_TYPE_REMOTE_GROUP => 'remote_groups',
-		Share::SHARE_TYPE_EMAIL => 'emails',
+		IShare::TYPE_USER => 'users',
+		IShare::TYPE_GROUP => 'groups',
+		IShare::TYPE_REMOTE => 'remotes',
+		IShare::TYPE_REMOTE_GROUP => 'remote_groups',
+		IShare::TYPE_EMAIL => 'emails',
 	];
 
 	private function getAllSharees(string $user, array $shareTypes): ISearchResult {
@@ -324,39 +325,39 @@ class ShareesAPIController extends OCSController {
 	 */
 	public function findRecommended(string $itemType = null, $shareType = null): DataResponse {
 		$shareTypes = [
-			Share::SHARE_TYPE_USER,
+			IShare::TYPE_USER,
 		];
 
 		if ($itemType === null) {
 			throw new OCSBadRequestException('Missing itemType');
 		} elseif ($itemType === 'file' || $itemType === 'folder') {
 			if ($this->shareManager->allowGroupSharing()) {
-				$shareTypes[] = Share::SHARE_TYPE_GROUP;
+				$shareTypes[] = IShare::TYPE_GROUP;
 			}
 
 			if ($this->isRemoteSharingAllowed($itemType)) {
-				$shareTypes[] = Share::SHARE_TYPE_REMOTE;
+				$shareTypes[] = IShare::TYPE_REMOTE;
 			}
 
 			if ($this->isRemoteGroupSharingAllowed($itemType)) {
-				$shareTypes[] = Share::SHARE_TYPE_REMOTE_GROUP;
+				$shareTypes[] = IShare::TYPE_REMOTE_GROUP;
 			}
 
-			if ($this->shareManager->shareProviderExists(Share::SHARE_TYPE_EMAIL)) {
-				$shareTypes[] = Share::SHARE_TYPE_EMAIL;
+			if ($this->shareManager->shareProviderExists(IShare::TYPE_EMAIL)) {
+				$shareTypes[] = IShare::TYPE_EMAIL;
 			}
 
-			if ($this->shareManager->shareProviderExists(Share::SHARE_TYPE_ROOM)) {
-				$shareTypes[] = Share::SHARE_TYPE_ROOM;
+			if ($this->shareManager->shareProviderExists(IShare::TYPE_ROOM)) {
+				$shareTypes[] = IShare::TYPE_ROOM;
 			}
 		} else {
-			$shareTypes[] = Share::SHARE_TYPE_GROUP;
-			$shareTypes[] = Share::SHARE_TYPE_EMAIL;
+			$shareTypes[] = IShare::TYPE_GROUP;
+			$shareTypes[] = IShare::TYPE_EMAIL;
 		}
 
 		// FIXME: DI
 		if (\OC::$server->getAppManager()->isEnabledForUser('circles') && class_exists('\OCA\Circles\ShareByCircleProvider')) {
-			$shareTypes[] = Share::SHARE_TYPE_CIRCLE;
+			$shareTypes[] = IShare::TYPE_CIRCLE;
 		}
 
 		if (isset($_GET['shareType']) && is_array($_GET['shareType'])) {
@@ -382,7 +383,7 @@ class ShareesAPIController extends OCSController {
 		try {
 			// FIXME: static foo makes unit testing unnecessarily difficult
 			$backend = \OC\Share\Share::getBackend($itemType);
-			return $backend->isShareTypeAllowed(Share::SHARE_TYPE_REMOTE);
+			return $backend->isShareTypeAllowed(IShare::TYPE_REMOTE);
 		} catch (\Exception $e) {
 			return false;
 		}
@@ -392,7 +393,7 @@ class ShareesAPIController extends OCSController {
 		try {
 			// FIXME: static foo makes unit testing unnecessarily difficult
 			$backend = \OC\Share\Share::getBackend($itemType);
-			return $backend->isShareTypeAllowed(Share::SHARE_TYPE_REMOTE_GROUP);
+			return $backend->isShareTypeAllowed(IShare::TYPE_REMOTE_GROUP);
 		} catch (\Exception $e) {
 			return false;
 		}
diff --git a/apps/files_sharing/src/components/SharingInput.vue b/apps/files_sharing/src/components/SharingInput.vue
index 833264f0ad2..2dcce612508 100644
--- a/apps/files_sharing/src/components/SharingInput.vue
+++ b/apps/files_sharing/src/components/SharingInput.vue
@@ -394,7 +394,7 @@ export default {
 				shareWith: result.value.shareWith,
 				shareType: result.value.shareType,
 				user: result.uuid || result.value.shareWith,
-				isNoUser: !result.uuid,
+				isNoUser: result.value.shareType !== this.SHARE_TYPES.SHARE_TYPE_USER,
 				displayName: result.name || result.label,
 				desc,
 				icon: this.shareTypeToIcon(result.value.shareType),
-- 
GitLab