From 453354d103a237428e26196c195dd981b5ecae91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?CS=C3=89CSY=20L=C3=A1szl=C3=B3?= Date: Wed, 5 Aug 2020 23:19:05 +0200 Subject: [PATCH] Make team members list operations access-aware (#433) --- .../src/Controller/TeamMembersList.php | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/modules/apigee_edge_teams/src/Controller/TeamMembersList.php b/modules/apigee_edge_teams/src/Controller/TeamMembersList.php index 1a786a401..39d29adc8 100644 --- a/modules/apigee_edge_teams/src/Controller/TeamMembersList.php +++ b/modules/apigee_edge_teams/src/Controller/TeamMembersList.php @@ -228,14 +228,22 @@ protected function buildOperations(string $member, TeamInterface $team): array { */ protected function getOperations(string $member, TeamInterface $team) { $operations = []; - $operations['edit'] = [ - 'title' => $this->t('Edit'), - 'url' => Url::fromRoute('entity.team.member.edit', ['team' => $team->id(), 'developer' => $member], ['query' => ['destination' => $team->toUrl('members')->toString()]]), - ]; - $operations['remove'] = [ - 'title' => $this->t('Remove'), - 'url' => Url::fromRoute('entity.team.member.remove', ['team' => $team->id(), 'developer' => $member], ['query' => ['destination' => $team->toUrl('members')->toString()]]), - ]; + + $url = Url::fromRoute('entity.team.member.edit', ['team' => $team->id(), 'developer' => $member], ['query' => ['destination' => $team->toUrl('members')->toString()]]); + if ($url->access()) { + $operations['edit'] = [ + 'title' => $this->t('Edit'), + 'url' => $url, + ]; + } + + $url = Url::fromRoute('entity.team.member.remove', ['team' => $team->id(), 'developer' => $member], ['query' => ['destination' => $team->toUrl('members')->toString()]]); + if ($url->access()) { + $operations['remove'] = [ + 'title' => $this->t('Remove'), + 'url' => $url, + ]; + } return $operations; }