Improve scheduled task layout and data handling

This commit is contained in:
Dane Everitt 2016-03-18 16:23:10 -04:00
parent c1301c7190
commit 67d9f9f4ab
11 changed files with 639 additions and 0 deletions

View file

@ -450,4 +450,100 @@ class ServerPolicy
return $user->permissions()->server($server)->permission('view-databases')->exists();
}
/**
* Check if user has permission to view all tasks for a server.
*
* @param Pterodactyl\Models\User $user
* @param Pterodactyl\Models\Server $server
* @return boolean
*/
public function listTasks(User $user, Server $server)
{
if ($this->isOwner($user, $server)) {
return true;
}
return $user->permissions()->server($server)->permission('list-tasks')->exists();
}
/**
* Check if user has permission to view a specific task for a server.
*
* @param Pterodactyl\Models\User $user
* @param Pterodactyl\Models\Server $server
* @return boolean
*/
public function viewTask(User $user, Server $server)
{
if ($this->isOwner($user, $server)) {
return true;
}
return $user->permissions()->server($server)->permission('view-task')->exists();
}
/**
* Check if user has permission to view a toggle a task for a server.
*
* @param Pterodactyl\Models\User $user
* @param Pterodactyl\Models\Server $server
* @return boolean
*/
public function toggleTask(User $user, Server $server)
{
if ($this->isOwner($user, $server)) {
return true;
}
return $user->permissions()->server($server)->permission('toggle-task')->exists();
}
/**
* Check if user has permission to queue a task for a server.
*
* @param Pterodactyl\Models\User $user
* @param Pterodactyl\Models\Server $server
* @return boolean
*/
public function queueTask(User $user, Server $server)
{
if ($this->isOwner($user, $server)) {
return true;
}
return $user->permissions()->server($server)->permission('queue-task')->exists();
}
/**
* Check if user has permission to delete a specific task for a server.
*
* @param Pterodactyl\Models\User $user
* @param Pterodactyl\Models\Server $server
* @return boolean
*/
public function deleteTask(User $user, Server $server)
{
if ($this->isOwner($user, $server)) {
return true;
}
return $user->permissions()->server($server)->permission('delete-task')->exists();
}
/**
* Check if user has permission to create a task for a server.
*
* @param Pterodactyl\Models\User $user
* @param Pterodactyl\Models\Server $server
* @return boolean
*/
public function createTask(User $user, Server $server)
{
if ($this->isOwner($user, $server)) {
return true;
}
return $user->permissions()->server($server)->permission('create-task')->exists();
}
}