diff --git a/app/Policies/ServerPolicy.php b/app/Policies/ServerPolicy.php index 2f9355cca..1922ce56e 100644 --- a/app/Policies/ServerPolicy.php +++ b/app/Policies/ServerPolicy.php @@ -2,8 +2,6 @@ namespace Pterodactyl\Policies; -use Log; -use Debugbar; use Pterodactyl\Models\User; use Pterodactyl\Models\Server; @@ -191,4 +189,36 @@ class ServerPolicy return $user->permissions()->server($server)->permission('set-connection')->exists(); } + /** + * Check if user has permission to view subusers for the server. + * + * @param Pterodactyl\Models\User $user + * @param Pterodactyl\Models\Server $server + * @return boolean + */ + public function viewSubusers(User $user, Server $server) + { + if ($this->isOwner($user, $server)) { + return true; + } + + return $user->permissions()->server($server)->permission('view-subusers')->exists(); + } + + /** + * Check if user has permission to view the server management page. + * + * @param Pterodactyl\Models\User $user + * @param Pterodactyl\Models\Server $server + * @return boolean + */ + public function viewManage(User $user, Server $server) + { + if ($this->isOwner($user, $server)) { + return true; + } + + return $user->permissions()->server($server)->permission('view-manage')->exists(); + } + } diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index f7062f7b4..757101e2d 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -2,9 +2,6 @@ namespace Pterodactyl\Providers; -use Pterodactyl\Models\Server; -use Pterodactyl\Policies\ServerPolicy; - use Illuminate\Contracts\Auth\Access\Gate as GateContract; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; @@ -16,8 +13,7 @@ class AuthServiceProvider extends ServiceProvider * @var array */ protected $policies = [ - 'Pterodactyl\Model' => 'Pterodactyl\Policies\ModelPolicy', - Server::class => ServerPolicy::class, + 'Pterodactyl\Models\Server' => 'Pterodactyl\Policies\ServerPolicy' ]; /** diff --git a/resources/views/layouts/master.blade.php b/resources/views/layouts/master.blade.php index 0da099b4f..b5cfa3e6f 100644 --- a/resources/views/layouts/master.blade.php +++ b/resources/views/layouts/master.blade.php @@ -193,9 +193,9 @@