Use regular groups endpoint to support Nextcloud 13

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl
2018-12-05 16:23:17 +01:00
parent 3162ff4261
commit 8906d12a47
4 changed files with 40 additions and 8 deletions

View File

@@ -65,9 +65,16 @@ var ListController = function ($scope, $location, $filter, BoardService, $elemen
$scope.groupLimitDisabled = true; $scope.groupLimitDisabled = true;
let fetchGroups = function () { let fetchGroups = function () {
var deferred = $q.defer(); var deferred = $q.defer();
$http.get(OC.linkToOCS('cloud', 2) + 'groups/details').then(function (response) { // TODO: move to groups/details once 15 is min version
$scope.groups = response.data.ocs.data.groups; $http.get(OC.linkToOCS('cloud', 2) + 'groups').then(function (response) {
deferred.resolve(response.data.ocs.data.groups); $scope.groups = response.data.ocs.data.groups.reduce((obj, item) => {
obj.push({
id: item,
displayname: item,
});
return obj;
}, []);
deferred.resolve($scope.groups);
}, function (error) { }, function (error) {
deferred.reject('Error while loading groups'); deferred.reject('Error while loading groups');
}); });

View File

@@ -106,10 +106,6 @@ class ConfigController extends Controller {
return [ return [
'id' => $group->getGID(), 'id' => $group->getGID(),
'displayname' => $group->getDisplayName(), 'displayname' => $group->getDisplayName(),
'usercount' => $group->count(),
'disabled' => $group->countDisabled(),
'canAdd' => $group->canAddUser(),
'canRemove' => $group->canRemoveUser(),
]; ];
}, $groups); }, $groups);
return $groups; return $groups;

View File

@@ -68,7 +68,9 @@ class PageController extends Controller {
]; ];
if ($this->defaultBoardService->checkFirstRun($this->userId, $this->appName)) { if ($this->defaultBoardService->checkFirstRun($this->userId, $this->appName)) {
$this->defaultBoardService->createDefaultBoard($this->l10n->t('Personal'), $this->userId, '000000'); if ($this->permissionService->canCreate()) {
$this->defaultBoardService->createDefaultBoard($this->l10n->t('Personal'), $this->userId, '000000');
}
} }
return new TemplateResponse('deck', 'main', $params); return new TemplateResponse('deck', 'main', $params);

View File

@@ -65,6 +65,10 @@ class PageControllerTest extends \Test\TestCase {
->method('checkFirstRun') ->method('checkFirstRun')
->willReturn(true); ->willReturn(true);
$this->permissionService->expects($this->any())
->method('canCreate')
->willReturn(true);
$this->defaultBoardService->expects($this->once()) $this->defaultBoardService->expects($this->once())
->method('createDefaultBoard') ->method('createDefaultBoard')
->willReturn($board); ->willReturn($board);
@@ -73,6 +77,29 @@ class PageControllerTest extends \Test\TestCase {
$this->assertEquals('main', $response->getTemplateName()); $this->assertEquals('main', $response->getTemplateName());
} }
public function testIndexOnFirstRunNoCreate() {
$board = new Board();
$board->setTitle('Personal');
$board->setOwner($this->userId);
$board->setColor('000000');
$this->defaultBoardService->expects($this->once())
->method('checkFirstRun')
->willReturn(true);
$this->permissionService->expects($this->any())
->method('canCreate')
->willReturn(false);
$this->defaultBoardService->expects($this->never())
->method('createDefaultBoard')
->willReturn($board);
$response = $this->controller->index();
$this->assertEquals('main', $response->getTemplateName());
}
public function testIndexOnSecondRun() { public function testIndexOnSecondRun() {
$this->config->setUserValue($this->userId, 'deck', 'firstRun', 'no'); $this->config->setUserValue($this->userId, 'deck', 'firstRun', 'no');