diff --git a/css/icons.scss b/css/icons.scss index ef9755890..2410c082d 100644 --- a/css/icons.scss +++ b/css/icons.scss @@ -5,10 +5,6 @@ background-image: url('../img/deck-dark.svg'); } -.icon-group { - background-image: url('../../../settings/img/users.svg'); -} - .icon-help { background-image: url('../../../settings/img/help.svg'); } @@ -59,7 +55,7 @@ @include icon-black-white('archive', 'deck', 1); @include icon-black-white('circles', 'deck', 1); @include icon-black-white('clone', 'deck', 1); - + .icon-toggle-compact-collapsed { @include icon-color('toggle-view-expand', 'deck', $color-black); } diff --git a/lib/Service/PermissionService.php b/lib/Service/PermissionService.php index 2a815fe01..76a450d1c 100644 --- a/lib/Service/PermissionService.php +++ b/lib/Service/PermissionService.php @@ -262,6 +262,27 @@ class PermissionService { $users[$user->getUID()] = new User($user); } } + + if ($this->circlesEnabled && $acl->getType() === Acl::PERMISSION_TYPE_CIRCLE) { + try { + $circle = \OCA\Circles\Api\v1\Circles::detailsCircle($acl->getParticipant(), true); + if ($circle === null) { + $this->logger->info('No circle found for acl rule ' . $acl->getId()); + continue; + } + + foreach ($circle->getMembers() as $member) { + $user = $this->userManager->get($member->getUserId()); + if ($user === null) { + $this->logger->info('No user found for circle member ' . $member->getUserId()); + } else { + $users[$member->getUserId()] = new User($user); + } + } + } catch (\Exception $e) { + $this->logger->info('Member not found in circle that was accessed. This should not happen.'); + } + } } $this->users[(string) $boardId] = $users; return $this->users[(string) $boardId]; diff --git a/src/components/board/Board.vue b/src/components/board/Board.vue index 56d810155..bbf397b96 100644 --- a/src/components/board/Board.vue +++ b/src/components/board/Board.vue @@ -90,14 +90,21 @@ export default { }, methods: { fetchData() { - this.boardApi.loadById(this.id) + + this.$store.dispatch('loadBoardById', this.id).then(response => { + this.$store.dispatch('loadStacks', this.id).then(response => { + this.loading = false + }) + }) + + /* this.boardApi.loadById(this.id) .then((board) => { this.$store.dispatch('setCurrentBoard', board) this.$store.dispatch('loadStacks', board) this.$store.dispatch('setAssignableUsers', board.users) this.loading = false this.$store.state.labels = board.labels - }) + }) */ }, onDropStack({ removedIndex, addedIndex }) { this.$store.dispatch('orderStack', { stack: this.stacksByBoard[removedIndex], removedIndex, addedIndex }) diff --git a/src/components/board/BoardSidebar.vue b/src/components/board/BoardSidebar.vue index a283d7e55..4c880a889 100644 --- a/src/components/board/BoardSidebar.vue +++ b/src/components/board/BoardSidebar.vue @@ -27,11 +27,11 @@ @close="closeSidebar"> - + - + @@ -39,7 +39,7 @@ - + @@ -47,10 +47,10 @@