Fix querying for permissions

This commit is contained in:
Julius Haertl
2016-11-06 23:05:59 +01:00
parent fcae9e6b19
commit f2fd7c215c
3 changed files with 16 additions and 3 deletions

View File

@@ -23,6 +23,7 @@
namespace OCA\Deck\Controller; namespace OCA\Deck\Controller;
use OCA\Deck\Db\Acl;
use OCA\Deck\Service\BoardService; use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\PermissionService; use OCA\Deck\Service\PermissionService;
use OCP\IRequest; use OCP\IRequest;
@@ -123,7 +124,13 @@ class BoardController extends Controller {
* @internal param $userId * @internal param $userId
*/ */
public function getUserPermissions($boardId) { public function getUserPermissions($boardId) {
return $this->permissionService->getPermissions($boardId); $permissions = $this->permissionService->getPermissions($boardId);
return [
'PERMISSION_READ' => $permissions[Acl::PERMISSION_READ],
'PERMISSION_EDIT' => $permissions[Acl::PERMISSION_EDIT],
'PERMISSION_MANAGE' => $permissions[Acl::PERMISSION_MANAGE],
'PERMISSION_SHARE' => $permissions[Acl::PERMISSION_SHARE]
];
} }
/** /**

View File

@@ -63,7 +63,7 @@ class PermissionService {
$acls = $this->aclMapper->findAll($boardId); $acls = $this->aclMapper->findAll($boardId);
return [ return [
Acl::PERMISSION_READ => $owner || $this->userCan($acls, Acl::PERMISSION_READ), Acl::PERMISSION_READ => $owner || $this->userCan($acls, Acl::PERMISSION_READ),
Acl::PERMISSION_EDIT => $owner || $this->userCan($acls, Acl::PERMISSION_READ), Acl::PERMISSION_EDIT => $owner || $this->userCan($acls, Acl::PERMISSION_EDIT),
Acl::PERMISSION_MANAGE => $owner || $this->userCan($acls, Acl::PERMISSION_MANAGE), Acl::PERMISSION_MANAGE => $owner || $this->userCan($acls, Acl::PERMISSION_MANAGE),
Acl::PERMISSION_SHARE => $owner || $this->userCan($acls, Acl::PERMISSION_SHARE), Acl::PERMISSION_SHARE => $owner || $this->userCan($acls, Acl::PERMISSION_SHARE),
]; ];

View File

@@ -121,6 +121,12 @@ class BoardControllerTest extends \PHPUnit_Framework_TestCase {
} }
public function testGetUserPermissions() { public function testGetUserPermissions() {
$acl = [
Acl::PERMISSION_READ => true,
Acl::PERMISSION_EDIT => true,
Acl::PERMISSION_MANAGE => true,
Acl::PERMISSION_SHARE => true,
];
$expected = [ $expected = [
'PERMISSION_READ' => true, 'PERMISSION_READ' => true,
'PERMISSION_EDIT' => true, 'PERMISSION_EDIT' => true,
@@ -130,7 +136,7 @@ class BoardControllerTest extends \PHPUnit_Framework_TestCase {
$this->permissionService->expects($this->once()) $this->permissionService->expects($this->once())
->method('getPermissions') ->method('getPermissions')
->with(123) ->with(123)
->willReturn($expected); ->willReturn($acl);
$this->assertEquals($expected, $this->controller->getUserPermissions(123)); $this->assertEquals($expected, $this->controller->getUserPermissions(123));
} }