upstream
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
This commit is contained in:
parent
23ff76975f
commit
6e7be6acfd
|
@ -450,11 +450,11 @@ class ShareAPIController extends OCSController {
|
|||
}
|
||||
$share->setSharedWith($shareWith);
|
||||
} else if ($shareType === \OCP\Share::SHARE_TYPE_CIRCLE) {
|
||||
if (!\OCP\App::isEnabled('circles')) {
|
||||
if (!\OC::$server->getAppManager()->isEnabledForUser('circles') || !class_exists('\OCA\Circles\ShareByCircleProvider')) {
|
||||
throw new OCSNotFoundException($this->l->t('You cannot share to a Circle if the app is not enabled'));
|
||||
}
|
||||
|
||||
$circle = \OCA\Circles\Api\Circles::detailsCircle($shareWith);
|
||||
$circle = \OCA\Circles\Api\v1\Circles::detailsCircle($shareWith);
|
||||
|
||||
// Valid circle is required to share
|
||||
if ($circle === null) {
|
||||
|
|
|
@ -472,7 +472,7 @@ class ShareesAPIController extends OCSController {
|
|||
$shareTypes[] = Share::SHARE_TYPE_EMAIL;
|
||||
}
|
||||
|
||||
if (\OCP\App::isEnabled('circles')) {
|
||||
if (\OC::$server->getAppManager()->isEnabledForUser('circles') && class_exists('\OCA\Circles\ShareByCircleProvider')) {
|
||||
$shareTypes[] = Share::SHARE_TYPE_CIRCLE;
|
||||
}
|
||||
|
||||
|
|
|
@ -193,7 +193,7 @@ class Manager implements IManager {
|
|||
throw new \InvalidArgumentException('SharedWith should not be empty');
|
||||
}
|
||||
} else if ($share->getShareType() === \OCP\Share::SHARE_TYPE_CIRCLE) {
|
||||
$circle = \OCA\Circles\Api\Circles::detailsCircle($share->getSharedWith());
|
||||
$circle = \OCA\Circles\Api\v1\Circles::detailsCircle($share->getSharedWith());
|
||||
if ($circle === null) {
|
||||
throw new \InvalidArgumentException('SharedWith is not a valid circle');
|
||||
}
|
||||
|
|
|
@ -51,9 +51,10 @@ class ProviderFactory implements IProviderFactory {
|
|||
private $federatedProvider = null;
|
||||
/** @var ShareByMailProvider */
|
||||
private $shareByMailProvider;
|
||||
/** @var \OCA\Circles\ShareByCircleProvider;
|
||||
* ShareByCircleProvider */
|
||||
private $shareByCircleProvider;
|
||||
/** @var \OCA\Circles\ShareByCircleProvider */
|
||||
private $shareByCircleProvider = null;
|
||||
/** @var bool */
|
||||
private $circlesAreNotAvailable = false;
|
||||
|
||||
/**
|
||||
* IProviderFactory constructor.
|
||||
|
@ -179,11 +180,16 @@ class ProviderFactory implements IProviderFactory {
|
|||
*/
|
||||
protected function getShareByCircleProvider() {
|
||||
|
||||
$appManager = $this->serverContainer->getAppManager();
|
||||
if (!$appManager->isEnabledForUser('circles')) {
|
||||
if ($this->circlesAreNotAvailable) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!$this->serverContainer->getAppManager()->isEnabledForUser('circles') ||
|
||||
!class_exists('\OCA\Circles\ShareByCircleProvider')
|
||||
) {
|
||||
$this->circlesAreNotAvailable = true;
|
||||
return null;
|
||||
}
|
||||
|
||||
if ($this->shareByCircleProvider === null) {
|
||||
|
||||
|
|
Loading…
Reference in New Issue