
* Update Subuser Adds user deleted notification, Adds logger for creating subusers. * Update Tasks * ... * Update Schedule * Update Files * Update Database * Move `reinstall` to proper array * Add `:action` to deleted task log * Updates * Fix CreateSchedule * Fix Editing/Saving --------- Co-authored-by: RMartinOscar <40749467+RMartinOscar@users.noreply.github.com>
70 lines
2.4 KiB
PHP
70 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Server\Resources\ScheduleResource\Pages;
|
|
|
|
use App\Facades\Activity;
|
|
use App\Filament\Server\Resources\ScheduleResource;
|
|
use App\Models\Schedule;
|
|
use App\Filament\Components\Tables\Columns\DateTimeColumn;
|
|
use Filament\Actions;
|
|
use Filament\Resources\Pages\ListRecords;
|
|
use Filament\Tables\Actions\DeleteAction;
|
|
use Filament\Tables\Actions\EditAction;
|
|
use Filament\Tables\Actions\ViewAction;
|
|
use Filament\Tables\Columns\IconColumn;
|
|
use Filament\Tables\Columns\TextColumn;
|
|
use Filament\Tables\Table;
|
|
|
|
class ListSchedules extends ListRecords
|
|
{
|
|
protected static string $resource = ScheduleResource::class;
|
|
|
|
public function table(Table $table): Table
|
|
{
|
|
return $table
|
|
->columns([
|
|
TextColumn::make('name')
|
|
->searchable(),
|
|
TextColumn::make('cron')
|
|
->state(fn (Schedule $schedule) => $schedule->cron_minute . ' ' . $schedule->cron_hour . ' ' . $schedule->cron_day_of_month . ' ' . $schedule->cron_month . ' ' . $schedule->cron_day_of_week),
|
|
TextColumn::make('status')
|
|
->state(fn (Schedule $schedule) => !$schedule->is_active ? 'Inactive' : ($schedule->is_processing ? 'Processing' : 'Active')),
|
|
IconColumn::make('only_when_online')
|
|
->boolean()
|
|
->sortable(),
|
|
DateTimeColumn::make('last_run_at')
|
|
->label('Last run')
|
|
->placeholder('Never')
|
|
->since()
|
|
->sortable(),
|
|
DateTimeColumn::make('next_run_at')
|
|
->label('Next run')
|
|
->since()
|
|
->sortable(),
|
|
])
|
|
->actions([
|
|
ViewAction::make(),
|
|
EditAction::make(),
|
|
DeleteAction::make()
|
|
->after(function (Schedule $schedule) {
|
|
Activity::event('server:schedule.delete')
|
|
->subject($schedule)
|
|
->property('name', $schedule->name)
|
|
->log();
|
|
}),
|
|
]);
|
|
}
|
|
|
|
protected function getHeaderActions(): array
|
|
{
|
|
return [
|
|
Actions\CreateAction::make()->label('New Schedule'),
|
|
];
|
|
}
|
|
|
|
public function getBreadcrumbs(): array
|
|
{
|
|
return [];
|
|
}
|
|
}
|