From b2c8355e386390cc8cf3166a6e210788ae7b61a1 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Tue, 31 Mar 2026 09:19:40 +0700 Subject: [PATCH] refactor: remove CreateSessionAction and AttendanceRelationManager to streamline class session management --- .../Actions/CreateSessionAction.php | 37 -------- .../Pages/ListCourseSessions.php | 3 - .../AttendanceRelationManager.php | 93 ------------------- 3 files changed, 133 deletions(-) delete mode 100644 app/Filament/Resources/Learning/ClassSessions/Actions/CreateSessionAction.php delete mode 100644 app/Filament/Resources/Learning/ClassSessions/RelationManagers/AttendanceRelationManager.php diff --git a/app/Filament/Resources/Learning/ClassSessions/Actions/CreateSessionAction.php b/app/Filament/Resources/Learning/ClassSessions/Actions/CreateSessionAction.php deleted file mode 100644 index c7906ab..0000000 --- a/app/Filament/Resources/Learning/ClassSessions/Actions/CreateSessionAction.php +++ /dev/null @@ -1,37 +0,0 @@ -label('Tambah') - ->modalHeading('Tambah Sesi') - ->modalSubmitActionLabel('Simpan') - ->modalCancelActionLabel('Batal') - ->schema(function ($schema, $livewire) { - return $livewire->form($schema); - }) - ->mutateDataUsing(function (array $data, $livewire): array { - $data['course_id'] = $livewire->courseId; - - return $data; - }) - ->extraModalFooterActions(fn (CreateAction $action): array => [ - $action->makeModalSubmitAction('createAnother', arguments: ['another' => true]) - ->label('Simpan dan Tambah Lagi'), - ]) - ->modalWidth(Width::TwoExtraLarge); - } -} diff --git a/app/Filament/Resources/Learning/ClassSessions/Pages/ListCourseSessions.php b/app/Filament/Resources/Learning/ClassSessions/Pages/ListCourseSessions.php index 2bc9803..e712b33 100644 --- a/app/Filament/Resources/Learning/ClassSessions/Pages/ListCourseSessions.php +++ b/app/Filament/Resources/Learning/ClassSessions/Pages/ListCourseSessions.php @@ -3,7 +3,6 @@ namespace App\Filament\Resources\Learning\ClassSessions\Pages; use App\Filament\Actions\BackAction; -use App\Filament\Resources\Learning\ClassSessions\Actions\CreateSessionAction; use App\Filament\Resources\Learning\ClassSessions\Actions\DeleteSessionAction; use App\Filament\Resources\Learning\ClassSessions\Actions\EditSessionAction; use App\Filament\Resources\Learning\ClassSessions\Actions\GenerateSessionsAction; @@ -134,8 +133,6 @@ protected function getHeaderActions(): array ->url(ManageClassSessions::getUrl()), GenerateSessionsAction::make(), - - CreateSessionAction::make(), ]; } diff --git a/app/Filament/Resources/Learning/ClassSessions/RelationManagers/AttendanceRelationManager.php b/app/Filament/Resources/Learning/ClassSessions/RelationManagers/AttendanceRelationManager.php deleted file mode 100644 index 2d4c73f..0000000 --- a/app/Filament/Resources/Learning/ClassSessions/RelationManagers/AttendanceRelationManager.php +++ /dev/null @@ -1,93 +0,0 @@ -components([ - Select::make('student_id') - ->label('Mahasiswa') - ->placeholder('Pilih Mahasiswa') - ->relationship('student', 'full_name') - ->searchable() - ->required() - ->preload() - ->helperText('Pilih mahasiswa yang hadir pada pertemuan ini.'), - - DateTimePicker::make('attended_at') - ->label('Waktu Presensi') - ->default(now()) - ->native(false) - ->helperText('Tanggal dan jam mahasiswa melakukan presensi.'), - ]) - ->columns(1); - } - - public function table(Table $table): Table - { - return $table - ->recordTitleAttribute('student.full_name') - ->columns([ - ...RowIndexColumn::make(), - - TextColumn::make('student.student_number') - ->label('NIM') - ->copyable() - ->searchable() - ->sortable() - ->color('gray'), - - TextColumn::make('student.full_name') - ->label('Nama Mahasiswa') - ->searchable() - ->sortable(), - - TextColumn::make('attended_at') - ->label('Waktu Presensi') - ->dateTime('l, d F Y H:i') - ->sortable() - ->description(fn ($record) => $record->attended_at->format('H:i').' WIB') - ->color('primary'), - ]) - ->filters([ - // - ]) - ->headerActions([ - CreateAction::make() - ->modalWidth(Width::Large), - ]) - ->actions([ - EditAction::make() - ->modalWidth(Width::Large), - - DeleteAction::make(), - ]) - ->toolbarActions([ - BulkActionGroup::make([ - ...DefaultBulkActions::make('Presensi Mahasiswa'), - ]), - ]) - ->emptyStateDescription('Belum ada data presensi untuk pertemuan ini.'); - } -}