diff --git a/lib/Controller/RoomShareController.php b/lib/Controller/RoomShareController.php index 4b04371..b819f21 100644 --- a/lib/Controller/RoomShareController.php +++ b/lib/Controller/RoomShareController.php @@ -11,6 +11,7 @@ use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; +use OCP\IGroupManager; use OCP\IRequest; use OCP\IUserManager; @@ -24,6 +25,9 @@ class RoomShareController extends Controller { /** @var IUserManager */ private $userManager; + /** @var IGroupManager */ + private $groupManager; + /** @var RoomService */ private $roomService; @@ -37,6 +41,7 @@ class RoomShareController extends Controller { IRequest $request, RoomShareService $service, IUserManager $userManager, + IGroupManager $groupManager, RoomService $roomService, CircleHelper $circleHelper, $userId @@ -44,6 +49,7 @@ class RoomShareController extends Controller { parent::__construct($appName, $request); $this->service = $service; $this->userManager = $userManager; + $this->groupManager = $groupManager; $this->roomService = $roomService; $this->circleHelper = $circleHelper; $this->userId = $userId; @@ -90,6 +96,14 @@ class RoomShareController extends Controller { } $roomShare->setShareWithDisplayName($circle->getName()); + } elseif ($roomShare->getShareType() === RoomShare::SHARE_TYPE_GROUP) { + $shareWithGroup = $this->groupManager->get($roomShare->getShareWith()); + + if ($shareWithGroup === null) { + continue; + } + + $roomShare->setShareWithDisplayName($shareWithGroup->getDisplayName()); } $shares[] = $roomShare; diff --git a/tests/Unit/Controller/RoomShareControllerTest.php b/tests/Unit/Controller/RoomShareControllerTest.php index afd75e2..220bb23 100644 --- a/tests/Unit/Controller/RoomShareControllerTest.php +++ b/tests/Unit/Controller/RoomShareControllerTest.php @@ -9,6 +9,7 @@ use OCA\BigBlueButton\Db\RoomShare; use OCA\BigBlueButton\Service\RoomService; use OCA\BigBlueButton\Service\RoomShareService; use OCP\AppFramework\Http; +use OCP\IGroupManager; use OCP\IRequest; use OCP\IUserManager; use PHPUnit\Framework\TestCase; @@ -19,6 +20,7 @@ class RoomShareControllerTest extends TestCase { private $roomService; private $circleHelper; private $userManager; + private $groupManager; private $controller; private $userId = 'user_foo'; @@ -29,6 +31,7 @@ class RoomShareControllerTest extends TestCase { $this->request = $this->createMock(IRequest::class); $this->service = $this->createMock(RoomShareService::class); $this->userManager = $this->createMock(IUserManager::class); + $this->groupManager = $this->createMock(IGroupManager::class); $this->roomService = $this->createMock(RoomService::class); $this->circleHelper = $this->createMock(CircleHelper::class); @@ -37,6 +40,7 @@ class RoomShareControllerTest extends TestCase { $this->request, $this->service, $this->userManager, + $this->groupManager, $this->roomService, $this->circleHelper, $this->userId