diff --git a/app/Http/Controllers/Api/Client/Servers/ScheduleTaskController.php b/app/Http/Controllers/Api/Client/Servers/ScheduleTaskController.php index 12bcf968c..4ceed6550 100644 --- a/app/Http/Controllers/Api/Client/Servers/ScheduleTaskController.php +++ b/app/Http/Controllers/Api/Client/Servers/ScheduleTaskController.php @@ -39,6 +39,7 @@ class ScheduleTaskController extends ClientApiController * * @return array * + * @throws \Pterodactyl\Exceptions\Model\HttpForbiddenException * @throws \Pterodactyl\Exceptions\Model\DataValidationException * @throws \Pterodactyl\Exceptions\Service\ServiceLimitExceededException */ @@ -49,6 +50,10 @@ class ScheduleTaskController extends ClientApiController throw new ServiceLimitExceededException("Schedules may not have more than {$limit} tasks associated with them. Creating this task would put this schedule over the limit."); } + if ($server->backup_limit === 0 && $request->action === 'backup') { + throw new HttpForbiddenException("A backup task cannot be created when the server's backup limit is set to 0."); + } + /** @var \Pterodactyl\Models\Task|null $lastTask */ $lastTask = $schedule->tasks()->orderByDesc('sequence_id')->first(); @@ -72,6 +77,7 @@ class ScheduleTaskController extends ClientApiController * * @return array * + * @throws \Pterodactyl\Exceptions\Model\HttpForbiddenException * @throws \Pterodactyl\Exceptions\Model\DataValidationException * @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException */ @@ -81,6 +87,10 @@ class ScheduleTaskController extends ClientApiController throw new NotFoundHttpException(); } + if ($server->backup_limit === 0 && $request->action === 'backup') { + throw new HttpForbiddenException("A backup task cannot be created when the server's backup limit is set to 0."); + } + $this->repository->update($task->id, [ 'action' => $request->input('action'), 'payload' => $request->input('payload') ?? '', diff --git a/resources/scripts/components/dashboard/ApiKeyModal.tsx b/resources/scripts/components/dashboard/ApiKeyModal.tsx index ba6568b84..e2c129a51 100644 --- a/resources/scripts/components/dashboard/ApiKeyModal.tsx +++ b/resources/scripts/components/dashboard/ApiKeyModal.tsx @@ -3,6 +3,7 @@ import tw from 'twin.macro'; import Button from '@/components/elements/Button'; import asModal from '@/hoc/asModal'; import ModalContext from '@/context/ModalContext'; +import CopyOnClick from '@/components/elements/CopyOnClick'; interface Props { apiKey: string; @@ -19,7 +20,7 @@ const ApiKeyModal = ({ apiKey }: Props) => { shown again.

-                {apiKey}
+                {apiKey}