Skip to content

Commit 3c2735d

Browse files
authored
[6.x] Fix configure navs permission not working properly (#14775)
1 parent 62f5621 commit 3c2735d

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

src/Policies/NavTreePolicy.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ class NavTreePolicy extends NavPolicy
1010

1111
public function before($user)
1212
{
13-
if (User::fromUser($user)->isSuper()) {
13+
$user = User::fromUser($user);
14+
15+
if ($user->isSuper() || $user->hasPermission('configure navs')) {
1416
return true;
1517
}
1618
}

tests/Policies/NavTreePolicyTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,17 @@ public function trees_are_viewable_with_view_and_site_permissions()
3737
$this->assertTrue($user->can('view', $nav->makeTree('de')));
3838
}
3939

40+
#[Test]
41+
public function trees_are_viewable_and_editable_with_configure_permission()
42+
{
43+
$user = $this->userWithPermissions(['configure navs']);
44+
45+
$nav = Nav::make('test');
46+
47+
$this->assertTrue($user->can('view', $nav->makeTree('en')));
48+
$this->assertTrue($user->can('edit', $nav->makeTree('en')));
49+
}
50+
4051
#[Test]
4152
public function navs_are_editable_with_edit_permissions()
4253
{

0 commit comments

Comments
 (0)