Skip to content

Commit

Permalink
Add super user check to the before method in authorization policies.
Browse files Browse the repository at this point in the history
  • Loading branch information
duncanmcclean committed Feb 28, 2025
1 parent f34eafa commit 639a059
Show file tree
Hide file tree
Showing 15 changed files with 71 additions and 11 deletions.
7 changes: 6 additions & 1 deletion src/Policies/AssetContainerPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,12 @@ class AssetContainerPolicy
{
public function before($user, $ability)
{
if (User::fromUser($user)->hasPermission('configure asset containers')) {
$user = User::fromUser($user);

if (
$user->isSuper() ||
$user->hasPermission('configure asset containers')
) {
return true;
}
}
Expand Down
4 changes: 4 additions & 0 deletions src/Policies/AssetFolderPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ public function create($user, $assetContainer)
{
$user = User::fromUser($user);

if ($user->isSuper()) {
return true;
}

if (! $user->hasPermission("upload {$assetContainer->handle()} assets")) {
return false;
}
Expand Down
5 changes: 4 additions & 1 deletion src/Policies/AssetPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ public function before($user)
{
$user = User::fromUser($user);

if ($user->hasPermission('configure asset containers')) {
if (
$user->isSuper() ||
$user->hasPermission('configure asset containers')
) {
return true;
}
}
Expand Down
5 changes: 4 additions & 1 deletion src/Policies/CollectionPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ public function before($user)
{
$user = User::fromUser($user);

if ($user->hasPermission('configure collections')) {
if (
$user->isSuper() ||
$user->hasPermission('configure collections')
) {
return true;
}
}
Expand Down
5 changes: 4 additions & 1 deletion src/Policies/EntryPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ public function before($user)
{
$user = User::fromUser($user);

if ($user->hasPermission('configure collections')) {
if (
$user->isSuper() ||
$user->hasPermission('configure collections')
) {
return true;
}
}
Expand Down
5 changes: 4 additions & 1 deletion src/Policies/FieldsetPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ public function before($user, $ability, $fieldset)
{
$user = User::fromUser($user);

if ($user->hasPermission('configure fields')) {
if (
$user->isSuper() ||
$user->hasPermission('configure fields')
) {
return true;
}
}
Expand Down
5 changes: 4 additions & 1 deletion src/Policies/FormPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@ public function before($user, $ability)
{
$user = User::fromUser($user);

if ($user->hasPermission('configure forms')) {
if (
$user->isSuper() ||
$user->hasPermission('configure forms')
) {
return true;
}
}
Expand Down
5 changes: 4 additions & 1 deletion src/Policies/FormSubmissionPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ public function before($user, $ability)
{
$user = User::fromUser($user);

if ($user->hasPermission('configure forms')) {
if (
$user->isSuper() ||
$user->hasPermission('configure forms')
) {
return true;
}
}
Expand Down
5 changes: 4 additions & 1 deletion src/Policies/GlobalSetPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ public function before($user)
{
$user = User::fromUser($user);

if ($user->hasPermission('configure globals')) {
if (
$user->isSuper() ||
$user->hasPermission('configure globals')
) {
return true;
}
}
Expand Down
5 changes: 4 additions & 1 deletion src/Policies/NavPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ public function before($user)
{
$user = User::fromUser($user);

if ($user->hasPermission('configure navs')) {
if (
$user->isSuper() ||
$user->hasPermission('configure navs')
) {
return true;
}
}
Expand Down
7 changes: 7 additions & 0 deletions src/Policies/NavTreePolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ class NavTreePolicy extends NavPolicy
{
use Concerns\HasMultisitePolicy;

public function before($user)
{
if (User::fromUser($user)->isSuper()) {
return true;
}
}

public function view($user, $nav)
{
$user = User::fromUser($user);
Expand Down
7 changes: 7 additions & 0 deletions src/Policies/SitePolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@

class SitePolicy
{
public function before($user)
{
if (User::fromUser($user)->isSuper()) {
return true;
}
}

public function view($user, $site)
{
if (! Site::multiEnabled()) {
Expand Down
5 changes: 4 additions & 1 deletion src/Policies/TaxonomyPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ public function before($user)
{
$user = User::fromUser($user);

if ($user->hasPermission('configure taxonomies')) {
if (
$user->isSuper() ||
$user->hasPermission('configure taxonomies')
) {
return true;
}
}
Expand Down
5 changes: 4 additions & 1 deletion src/Policies/TermPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ public function before($user)
{
$user = User::fromUser($user);

if ($user->hasPermission('configure taxonomies')) {
if (
$user->isSuper() ||
$user->hasPermission('configure taxonomies')
) {
return true;
}
}
Expand Down
7 changes: 7 additions & 0 deletions src/Policies/UserPolicy.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@

class UserPolicy
{
public function before($user)
{
if (User::fromUser($user)->isSuper()) {
return true;
}
}

public function index($authed)
{
$authed = User::fromUser($authed);
Expand Down

0 comments on commit 639a059

Please sign in to comment.