More schedule changes

This commit is contained in:
Dane Everitt 2017-09-13 21:46:43 -05:00
parent 457c910c35
commit 7f76684453
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
20 changed files with 365 additions and 348 deletions

View file

@ -48,13 +48,13 @@ class TaskController extends Controller
$this->authorize('list-tasks', $server);
$server->js();
return view('server.tasks.index', [
return view('server.schedules.index', [
'server' => $server,
'node' => $server->node,
'tasks' => $server->tasks,
'actions' => [
'command' => trans('server.tasks.actions.command'),
'power' => trans('server.tasks.actions.power'),
'command' => trans('server.schedules.actions.command'),
'power' => trans('server.schedules.actions.power'),
],
]);
}
@ -72,7 +72,7 @@ class TaskController extends Controller
$this->authorize('create-task', $server);
$server->js();
return view('server.tasks.new', [
return view('server.schedules.new', [
'server' => $server,
'node' => $server->node,
]);
@ -96,9 +96,9 @@ class TaskController extends Controller
'_token',
]));
return redirect()->route('server.tasks', $uuid);
return redirect()->route('server.schedules', $uuid);
} catch (DisplayValidationException $ex) {
return redirect()->route('server.tasks.new', $uuid)->withErrors(json_decode($ex->getMessage()))->withInput();
return redirect()->route('server.schedules.new', $uuid)->withErrors(json_decode($ex->getMessage()))->withInput();
} catch (DisplayException $ex) {
Alert::danger($ex->getMessage())->flash();
} catch (\Exception $ex) {
@ -106,7 +106,7 @@ class TaskController extends Controller
Alert::danger('An unknown error occured while attempting to create this task.')->flash();
}
return redirect()->route('server.tasks.new', $uuid);
return redirect()->route('server.schedules.new', $uuid);
}
/**

View file

@ -24,8 +24,8 @@
namespace Pterodactyl\Http\Controllers\Server\Tasks;
use Illuminate\Http\Request;
use Prologue\Alerts\AlertsMessageBag;
use Pterodactyl\Http\Requests\Request;
use Illuminate\Contracts\Session\Session;
use Pterodactyl\Http\Controllers\Controller;
use Pterodactyl\Contracts\Extensions\HashidsInterface;
@ -99,11 +99,11 @@ class TaskManagementController extends Controller
$this->authorize('list-schedules', $server);
$this->injectJavascript();
return view('server.tasks.index', [
return view('server.schedules.index', [
'schedules' => $this->repository->getServerSchedules($server->id),
'actions' => [
'command' => trans('server.tasks.actions.command'),
'power' => trans('server.tasks.actions.power'),
'command' => trans('server.schedule.actions.command'),
'power' => trans('server.schedule.actions.power'),
],
]);
}
@ -121,7 +121,7 @@ class TaskManagementController extends Controller
$this->authorize('create-schedule', $server);
$this->injectJavascript();
return view('server.tasks.new');
return view('server.schedules.new');
}
/**
@ -138,9 +138,9 @@ class TaskManagementController extends Controller
$this->authorize('create-schedule', $server);
$schedule = $this->creationService->handle($server, $request->normalize(), $request->getTasks());
$this->alert->success(trans('server.tasks.task_created'))->flash();
$this->alert->success(trans('server.schedules.task_created'))->flash();
return redirect()->route('server.tasks.view', [
return redirect()->route('server.schedules.view', [
'server' => $server->uuidShort,
'task' => $schedule->hashid,
]);
@ -149,7 +149,7 @@ class TaskManagementController extends Controller
/**
* Return a view to modify a schedule.
*
* @param \Pterodactyl\Http\Requests\Request $request
* @param \Illuminate\Http\Request $request
* @return \Illuminate\View\View
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
@ -165,7 +165,7 @@ class TaskManagementController extends Controller
}),
]);
return view('server.tasks.view', ['schedule' => $schedule]);
return view('server.schedules.view', ['schedule' => $schedule]);
}
/**
@ -183,9 +183,9 @@ class TaskManagementController extends Controller
$this->authorize('edit-schedule', $server);
// $this->updateService->handle($task, $request->normalize(), $request->getChainedTasks());
$this->alert->success(trans('server.tasks.task_updated'))->flash();
// $this->alert->success(trans('server.schedules.task_updated'))->flash();
return redirect()->route('server.tasks.view', [
return redirect()->route('server.schedules.view', [
'server' => $server->uuidShort,
'task' => $schedule->hashid,
]);
@ -194,7 +194,7 @@ class TaskManagementController extends Controller
/**
* Delete a parent task from the Panel.
*
* @param \Pterodactyl\Http\Requests\Request $request
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\RedirectResponse
*
* @throws \Illuminate\Auth\Access\AuthorizationException
@ -205,7 +205,7 @@ class TaskManagementController extends Controller
$schedule = $request->attributes->get('schedule');
$this->authorize('delete-schedule', $server);
$this->repository->delete($task->id);
$this->repository->delete($schedule->id);
return response('', 204);
}

View file

@ -77,10 +77,10 @@ class ScheduleAccess
{
$server = $this->session->get('server_data.model');
$scheduleId = $this->hashids->decodeFirst($request->route()->parameter('task'), 0);
$scheduleId = $this->hashids->decodeFirst($request->route()->parameter('schedule'), 0);
$schedule = $this->repository->getScheduleWithTasks($scheduleId);
if ($schedule->server_id !== $server->id) {
if (object_get($schedule, 'server_id') !== $server->id) {
abort(404);
}

View file

@ -42,11 +42,11 @@ class ScheduleCreationFormRequest extends FrontendUserFormRequest
'cron_hour' => 'required|string',
'cron_minute' => 'required|string',
'tasks' => 'sometimes|array|size:4',
'tasks.time_value' => 'required_with:chain|max:5',
'tasks.time_interval' => 'required_with:chain|max:5',
'tasks.action' => 'required_with:chain|max:5',
'tasks.payload' => 'required_with:chain|max:5',
'tasks.time_value.*' => 'numeric|between:1,60',
'tasks.time_value' => 'required_with:tasks|max:5',
'tasks.time_interval' => 'required_with:tasks|max:5',
'tasks.action' => 'required_with:tasks|max:5',
'tasks.payload' => 'required_with:tasks|max:5',
'tasks.time_value.*' => 'numeric|between:0,59',
'tasks.time_interval.*' => 'string|in:s,m',
'tasks.action.*' => 'string|in:power,command',
'tasks.payload.*' => 'string',

View file

@ -106,12 +106,13 @@ class Permission extends Model implements CleansAttributes
'download-files' => null,
],
'task' => [
'list-tasks' => null,
'view-task' => null,
'toggle-task' => null,
'queue-task' => null,
'create-task' => null,
'delete-task' => null,
'list-schedules' => null,
'view-schedule' => null,
'toggle-schedule' => null,
'queue-schedule' => null,
'edit-schedule' => null,
'create-schedule' => null,
'delete-schedule' => null,
],
'database' => [
'view-databases' => null,

View file

@ -55,7 +55,7 @@ class Task extends Model implements CleansAttributes, ValidableContract
*/
protected $fillable = [
'schedule_id',
'squence_id',
'sequence_id',
'action',
'payload',
'time_offset',
@ -70,7 +70,7 @@ class Task extends Model implements CleansAttributes, ValidableContract
protected $casts = [
'id' => 'integer',
'schedule_id' => 'integer',
'squence_id' => 'integer',
'sequence_id' => 'integer',
'time_offset' => 'integer',
'is_queued' => 'boolean',
];
@ -89,7 +89,7 @@ class Task extends Model implements CleansAttributes, ValidableContract
*/
protected static $applicationRules = [
'schedule_id' => 'required',
'squence_id' => 'required',
'sequence_id' => 'required',
'action' => 'required',
'payload' => 'required',
'time_offset' => 'required',
@ -100,7 +100,7 @@ class Task extends Model implements CleansAttributes, ValidableContract
*/
protected static $dataIntegrityRules = [
'schedule_id' => 'numeric|exists:schedules,id',
'squence_id' => 'numeric|min:1',
'sequence_id' => 'numeric|min:1',
'action' => 'string',
'payload' => 'string',
'time_offset' => 'numeric|between:0,900',