Compare commits

..

No commits in common. "da48d1a986b3c44835b9057c97d8c9d7446761e4" and "fabe26bc09860d1a93e2c66811f13e516052b6fb" have entirely different histories.

62 changed files with 191 additions and 401 deletions

View File

@ -4,13 +4,10 @@ namespace App\Filament\Imports;
use App\Models\Student; use App\Models\Student;
use App\Models\User; use App\Models\User;
use Carbon\Carbon;
use Filament\Actions\Imports\ImportColumn; use Filament\Actions\Imports\ImportColumn;
use Filament\Actions\Imports\Importer; use Filament\Actions\Imports\Importer;
use Filament\Actions\Imports\Models\Import; use Filament\Actions\Imports\Models\Import;
use Filament\Actions\Imports\Exceptions\RowImportFailedException; use Filament\Actions\Imports\Exceptions\RowImportFailedException;
use Filament\Notifications\Notification;
use Spatie\Permission\Models\Role;
class StudentImporter extends Importer class StudentImporter extends Importer
{ {
@ -68,31 +65,6 @@ class StudentImporter extends Importer
throw new RowImportFailedException('Email sudah digunakan'); throw new RowImportFailedException('Email sudah digunakan');
} }
$parentRole = Role::where('name', 'parent')->first();
$birthDate = Carbon::parse($this->data['birth_date']);
$password = $birthDate->format('dmY') . $this->data['nis'];
$parentUser = User::updateOrCreate(
['email' => $this->data['email']],
[
'name' => $this->data['parent_name'],
'password' => bcrypt($password),
'phone' => $this->data['parent_phone'],
]
);
$parentUser->assignRole($parentRole);
$recipient = auth()->user();
if ($recipient) {
Notification::make()
->title('Impor Siswa Berhasil')
->body('Siswa baru dengan NIS ' . $this->data['nis'] . ' dan orang tua ' . $this->data['parent_name'] . ' berhasil diimpor.')
->success()
->sendToDatabase($recipient);
}
return new Student(); return new Student();
} }

View File

@ -5,7 +5,6 @@ namespace App\Filament\Resources;
use App\Filament\Resources\AcademicYearResource\Pages; use App\Filament\Resources\AcademicYearResource\Pages;
use App\Filament\Resources\AcademicYearResource\RelationManagers; use App\Filament\Resources\AcademicYearResource\RelationManagers;
use App\Models\AcademicYear; use App\Models\AcademicYear;
use App\Models\ClassSubject;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Form; use Filament\Forms\Form;
use Filament\Notifications\Notification; use Filament\Notifications\Notification;
@ -71,9 +70,7 @@ class AcademicYearResource extends Resource
Tables\Filters\TrashedFilter::make(), Tables\Filters\TrashedFilter::make(),
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')),
Tables\Actions\RestoreAction::make()->visible(fn (AcademicYear $record) => auth()->user()->hasRole('admin') && $record->trashed()),
Tables\Actions\Action::make('toggleActive') Tables\Actions\Action::make('toggleActive')
->label('Toggle Active') ->label('Toggle Active')
->icon('heroicon-o-power') ->icon('heroicon-o-power')
@ -93,8 +90,13 @@ class AcademicYearResource extends Resource
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteBulkAction::make(),
Tables\Actions\ForceDeleteBulkAction::make(),
Tables\Actions\RestoreBulkAction::make(),
]), ]),
])
->emptyStateActions([
Tables\Actions\CreateAction::make(),
]); ]);
} }

View File

@ -35,4 +35,13 @@ class EditAcademicYear extends EditRecord
return $data; return $data;
} }
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
Actions\ForceDeleteAction::make(),
Actions\RestoreAction::make(),
];
}
} }

View File

@ -7,7 +7,6 @@ use App\Filament\Resources\AssessmentResource\RelationManagers;
use App\Models\Assessment; use App\Models\Assessment;
use App\Models\AssessmentComponent; use App\Models\AssessmentComponent;
use App\Models\ClassStudent; use App\Models\ClassStudent;
use App\Models\ExtracurricularAssessment;
use App\Models\HomeRoomTeacher; use App\Models\HomeRoomTeacher;
use App\Models\Student; use App\Models\Student;
use App\Models\TeacherSubject; use App\Models\TeacherSubject;
@ -180,31 +179,13 @@ class AssessmentResource extends Resource
->getOptionLabelFromRecordUsing(fn (TeacherSubject $record) => ->getOptionLabelFromRecordUsing(fn (TeacherSubject $record) =>
$record->teacher->name . ' - ' . $record->subject->name) $record->teacher->name . ' - ' . $record->subject->name)
->preload(), ->preload(),
Tables\Columns\TextColumn::make('created_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
])
->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'),
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')),
Tables\Actions\RestoreAction::make()->visible(fn (Assessment $record) => auth()->user()->hasRole('admin') && $record->trashed()),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin') || auth()->user()->hasRole('teacher')),
]), ]),
]); ]);
} }

View File

@ -3,7 +3,6 @@
namespace App\Filament\Resources; namespace App\Filament\Resources;
use App\Filament\Resources\AttendancesResource\Pages; use App\Filament\Resources\AttendancesResource\Pages;
use App\Models\Assessment;
use App\Models\Attendances; use App\Models\Attendances;
use App\Models\ClassRoom; use App\Models\ClassRoom;
use App\Models\ClassStudent; use App\Models\ClassStudent;
@ -233,32 +232,19 @@ class AttendancesResource extends Resource
->getOptionLabelFromRecordUsing(fn (TeacherSubject $record) => ->getOptionLabelFromRecordUsing(fn (TeacherSubject $record) =>
$record->teacher->name . ' - ' . $record->subject->name) $record->teacher->name . ' - ' . $record->subject->name)
->preload(), ->preload(),
Tables\Columns\TextColumn::make('created_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
])
->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'),
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make()
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')), ->iconButton(),
Tables\Actions\RestoreAction::make()->visible(fn (Attendances $record) => auth()->user()->hasRole('admin') && $record->trashed()), Tables\Actions\DeleteAction::make()
->iconButton(),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin') || auth()->user()->hasRole('teacher')),
]), ]),
]) ])
// ->defaultSort('teacherSubject.academicYear.name', 'desc')
->groups([ ->groups([
Tables\Grouping\Group::make('teacherSubject.subject.name') Tables\Grouping\Group::make('teacherSubject.subject.name')
->label('Mapel') ->label('Mapel')

View File

@ -5,7 +5,6 @@ namespace App\Filament\Resources;
use App\Filament\Resources\ClassRoomResource\Pages; use App\Filament\Resources\ClassRoomResource\Pages;
use App\Filament\Resources\ClassRoomResource\RelationManagers; use App\Filament\Resources\ClassRoomResource\RelationManagers;
use App\Models\ClassRoom; use App\Models\ClassRoom;
use App\Models\Extracurricular;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Form; use Filament\Forms\Form;
use Filament\Resources\Resource; use Filament\Resources\Resource;
@ -56,7 +55,6 @@ class ClassRoomResource extends Resource
->searchable(), ->searchable(),
Tables\Columns\TextColumn::make('class_level') Tables\Columns\TextColumn::make('class_level')
->searchable(), ->searchable(),
Tables\Columns\TextColumn::make('created_at') Tables\Columns\TextColumn::make('created_at')
->dateTime() ->dateTime()
->sortable() ->sortable()
@ -65,23 +63,22 @@ class ClassRoomResource extends Resource
->dateTime() ->dateTime()
->sortable() ->sortable()
->toggleable(isToggledHiddenByDefault: true), ->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
]) ])
->filters([ ->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'), Tables\Filters\TrashedFilter::make(),
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteAction::make(),
Tables\Actions\RestoreAction::make()->visible(fn (ClassRoom $record) => auth()->user()->hasRole('admin') && $record->trashed()), Tables\Actions\RestoreAction::make(),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteBulkAction::make(),
]), ]),
])
->emptyStateActions([
Tables\Actions\CreateAction::make(),
]); ]);
} }

View File

@ -14,4 +14,10 @@ class EditClassRoom extends EditRecord
{ {
return 'Edit Kelas'; return 'Edit Kelas';
} }
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
} }

View File

@ -18,9 +18,7 @@ class ListClassRooms extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make() Actions\CreateAction::make(),
->label('Tambah Kelas')
->icon('heroicon-o-user-group'),
]; ];
} }
} }

View File

@ -90,6 +90,9 @@ class ClassStudentResource extends Resource
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(), Tables\Actions\DeleteBulkAction::make(),
]), ]),
])
->emptyStateActions([
Tables\Actions\CreateAction::make(),
]); ]);
} }

View File

@ -18,9 +18,7 @@ class ListClassStudents extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make() Actions\CreateAction::make(),
->label('Tambah Kelas per-Siswa')
->icon('heroicon-o-user-group'),
]; ];
} }
} }

View File

@ -4,7 +4,6 @@ namespace App\Filament\Resources;
use App\Filament\Resources\ClassSubjectResource\Pages; use App\Filament\Resources\ClassSubjectResource\Pages;
use App\Filament\Resources\ClassSubjectResource\RelationManagers; use App\Filament\Resources\ClassSubjectResource\RelationManagers;
use App\Models\ClassRoom;
use App\Models\ClassSubject; use App\Models\ClassSubject;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Form; use Filament\Forms\Form;
@ -51,31 +50,17 @@ class ClassSubjectResource extends Resource
->columns([ ->columns([
TextColumn::make('class.class_name')->label('Kelas')->sortable()->searchable(), TextColumn::make('class.class_name')->label('Kelas')->sortable()->searchable(),
TextColumn::make('subject.name')->label('Mata Pelajaran')->sortable()->searchable(), TextColumn::make('subject.name')->label('Mata Pelajaran')->sortable()->searchable(),
TextColumn::make('academicYear.name')->label('Tahun Ajaran')->sortable(),
Tables\Columns\TextColumn::make('created_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
]) ])
->filters([ ->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'), //
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')),
Tables\Actions\RestoreAction::make()->visible(fn (ClassSubject $record) => auth()->user()->hasRole('admin') && $record->trashed()),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteBulkAction::make(),
]), ]),
]); ]);
} }

View File

@ -14,4 +14,11 @@ class EditClassSubject extends EditRecord
{ {
return 'Edit Mata Pelajaran per-Kelas'; return 'Edit Mata Pelajaran per-Kelas';
} }
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
} }

View File

@ -18,9 +18,7 @@ class ListClassSubjects extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make() Actions\CreateAction::make(),
->label('Tambah Mata Pelajaran per-Kelas')
->icon('heroicon-o-user-group'),
]; ];
} }
} }

View File

@ -103,6 +103,9 @@ class CompetencyAchievementResource extends Resource
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin') || auth()->user()->hasRole('teacher')), Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin') || auth()->user()->hasRole('teacher')),
]), ]),
])
->emptyStateActions([
Tables\Actions\CreateAction::make(),
]); ]);
} }

View File

@ -5,7 +5,6 @@ namespace App\Filament\Resources;
use App\Filament\Resources\ExtracurricularAssessmentResource\Pages; use App\Filament\Resources\ExtracurricularAssessmentResource\Pages;
use App\Filament\Resources\ExtracurricularAssessmentResource\RelationManagers; use App\Filament\Resources\ExtracurricularAssessmentResource\RelationManagers;
use App\Models\ClassStudent; use App\Models\ClassStudent;
use App\Models\ClassSubject;
use App\Models\Extracurricular; use App\Models\Extracurricular;
use App\Models\ExtracurricularAssessment; use App\Models\ExtracurricularAssessment;
use App\Models\HomeRoomTeacher; use App\Models\HomeRoomTeacher;
@ -117,32 +116,20 @@ class ExtracurricularAssessmentResource extends Resource
Tables\Columns\TextColumn::make('description') Tables\Columns\TextColumn::make('description')
->label('Description'), ->label('Description'),
Tables\Columns\TextColumn::make('created_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
]) ])
->filters([ ->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'), //
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')),
Tables\Actions\RestoreAction::make()->visible(fn (ExtracurricularAssessment $record) => auth()->user()->hasRole('admin') && $record->trashed()),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin') || auth()->user()->hasRole('teacher')),
]), ]),
])
->emptyStateActions([
Tables\Actions\CreateAction::make(),
]); ]);
} }

View File

@ -14,4 +14,11 @@ class EditExtracurricularAssessment extends EditRecord
{ {
return 'Edit Penilaian Ektrakurikuler'; return 'Edit Penilaian Ektrakurikuler';
} }
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
} }

View File

@ -37,9 +37,7 @@ class ListExtracurricularAssessments extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make() Actions\CreateAction::make(),
->label('Tambah Penilaian Ekstrakurikuler')
->icon('heroicon-o-user-group'),
]; ];
} }
} }

View File

@ -4,7 +4,6 @@ namespace App\Filament\Resources;
use App\Filament\Resources\ExtracurricularResource\Pages; use App\Filament\Resources\ExtracurricularResource\Pages;
use App\Models\Extracurricular; use App\Models\Extracurricular;
use App\Models\Student;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Form; use Filament\Forms\Form;
use Filament\Resources\Resource; use Filament\Resources\Resource;
@ -50,30 +49,20 @@ class ExtracurricularResource extends Resource
->limit(50), ->limit(50),
Tables\Columns\TextColumn::make('created_at') Tables\Columns\TextColumn::make('created_at')
->dateTime() ->label('Created at')
->sortable() ->dateTime('d M Y'),
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
]) ])
->filters([ ->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'),
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteAction::make(),
Tables\Actions\RestoreAction::make()->visible(fn (Extracurricular $record) => auth()->user()->hasRole('admin') && $record->trashed()),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(),
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), ])
]), ->emptyStateActions([
Tables\Actions\CreateAction::make(),
]); ]);
} }

View File

@ -14,4 +14,11 @@ class EditExtracurricular extends EditRecord
{ {
return 'Edit Ektrakuriler'; return 'Edit Ektrakuriler';
} }
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
} }

View File

@ -18,9 +18,7 @@ class ListExtracurriculars extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make() Actions\CreateAction::make()->label('Tambah Ekstrakurikuler'),
->label('Tambah Ektrakurikuler')
->icon('heroicon-o-user-group'),
]; ];
} }
} }

View File

@ -7,7 +7,6 @@ use App\Filament\Resources\HomeRoomTeacherResource\RelationManagers;
use App\Models\AcademicYear; use App\Models\AcademicYear;
use App\Models\ClassRoom; use App\Models\ClassRoom;
use App\Models\HomeRoomTeacher; use App\Models\HomeRoomTeacher;
use App\Models\LearningObjective;
use App\Models\User; use App\Models\User;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Form; use Filament\Forms\Form;
@ -73,23 +72,24 @@ class HomeRoomTeacherResource extends Resource
->dateTime() ->dateTime()
->sortable() ->sortable()
->toggleable(isToggledHiddenByDefault: true), ->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp Tables\Columns\TextColumn::make('deleted_at')
->dateTime() ->dateTime()
->sortable() ->sortable()
->toggleable(isToggledHiddenByDefault: true), ->toggleable(isToggledHiddenByDefault: true),
]) ])
->filters([ ->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'), //
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')),
Tables\Actions\RestoreAction::make()->visible(fn (HomeRoomTeacher $record) => auth()->user()->hasRole('admin') && $record->trashed()),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteBulkAction::make(),
]), ]),
])
->emptyStateActions([
Tables\Actions\CreateAction::make(),
]); ]);
} }

View File

@ -39,4 +39,10 @@ class EditHomeRoomTeacher extends EditRecord
return $data; return $data;
} }
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
} }

View File

@ -18,9 +18,7 @@ class ListHomeRoomTeachers extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make() Actions\CreateAction::make(),
->label('Tambah Wali Kelas')
->icon('heroicon-o-user-group'),
]; ];
} }
} }

View File

@ -7,7 +7,6 @@ use App\Filament\Resources\LearningObjectiveResource\RelationManagers;
use App\Models\ClassRoom; // Import ClassRoom model use App\Models\ClassRoom; // Import ClassRoom model
use App\Models\LearningObjective; use App\Models\LearningObjective;
use App\Models\Subject; // Import Subject model use App\Models\Subject; // Import Subject model
use App\Models\TeacherSubject;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
use Filament\Forms\Form; use Filament\Forms\Form;
@ -74,6 +73,7 @@ class LearningObjectiveResource extends Resource
->tooltip(fn (LearningObjective $record): string => $record->description) // Show full text on hover ->tooltip(fn (LearningObjective $record): string => $record->description) // Show full text on hover
->sortable(), ->sortable(),
// Standard timestamp columns
Tables\Columns\TextColumn::make('created_at') Tables\Columns\TextColumn::make('created_at')
->dateTime() ->dateTime()
->sortable() ->sortable()
@ -82,22 +82,26 @@ class LearningObjectiveResource extends Resource
->dateTime() ->dateTime()
->sortable() ->sortable()
->toggleable(isToggledHiddenByDefault: true), ->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp Tables\Columns\TextColumn::make('deleted_at')
->dateTime() ->dateTime()
->sortable() ->sortable()
->toggleable(isToggledHiddenByDefault: true), ->toggleable(isToggledHiddenByDefault: true), // Show deleted_at if soft deletes are used
]) ])
->filters([ ->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'), // TrashedFilter works with SoftDeletes trait on the model
Tables\Filters\TrashedFilter::make(),
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteAction::make(), // For soft deleting records
Tables\Actions\RestoreAction::make()->visible(fn (LearningObjective $record) => auth()->user()->hasRole('admin') && $record->trashed()), Tables\Actions\RestoreAction::make(), // For restoring soft-deleted records
Tables\Actions\ForceDeleteAction::make(), // For permanently deleting records
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteBulkAction::make(),
Tables\Actions\ForceDeleteBulkAction::make(),
Tables\Actions\RestoreBulkAction::make(),
]), ]),
]); ]);
} }

View File

@ -14,4 +14,13 @@ class EditLearningObjective extends EditRecord
{ {
return 'Edit Tujuan Pembelajaran'; return 'Edit Tujuan Pembelajaran';
} }
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
Actions\ForceDeleteAction::make(),
Actions\RestoreAction::make(),
];
}
} }

View File

@ -35,9 +35,7 @@ class ListLearningObjectives extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make() Actions\CreateAction::make()->label('Tambah Tujuan Pembelajaran Baru'),
->label('Tambah Tujuan Pembelajaran')
->icon('heroicon-o-user-group'),
]; ];
} }

View File

@ -5,7 +5,6 @@ namespace App\Filament\Resources;
use App\Filament\Resources\StudentResource\Pages; use App\Filament\Resources\StudentResource\Pages;
use App\Models\ClassRoom; use App\Models\ClassRoom;
use App\Models\Student; use App\Models\Student;
use App\Models\Subject;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Form; use Filament\Forms\Form;
use Filament\Resources\Resource; use Filament\Resources\Resource;
@ -126,27 +125,21 @@ class StudentResource extends Resource
->dateTime() ->dateTime()
->sortable() ->sortable()
->toggleable(isToggledHiddenByDefault: true), ->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
]) ])
->filters([ ->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'), //
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\ViewAction::make(),
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make(),
Tables\Actions\RestoreAction::make()->visible(fn (Student $record) => auth()->user()->hasRole('admin') && $record->trashed()),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteBulkAction::make(),
]), ]),
])
->emptyStateActions([
Tables\Actions\CreateAction::make(),
]); ]);
} }

View File

@ -48,4 +48,18 @@ class EditStudent extends EditRecord
return $data; return $data;
} }
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make()
->before(function (Actions\DeleteAction $action) {
$student = $this->record;
if ($student->email) {
User::where('email', $student->email)->delete();
}
}),
];
}
} }

View File

@ -18,9 +18,7 @@ class ListStudents extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make() Actions\CreateAction::make(),
->label('Tambah Siswa')
->icon('heroicon-o-user-group'),
Actions\ImportAction::make('importBrands') Actions\ImportAction::make('importBrands')
->importer(StudentImporter::class), ->importer(StudentImporter::class),
]; ];

View File

@ -5,7 +5,6 @@ namespace App\Filament\Resources;
use App\Filament\Resources\SubjectResource\Pages; use App\Filament\Resources\SubjectResource\Pages;
use App\Filament\Resources\SubjectResource\RelationManagers; use App\Filament\Resources\SubjectResource\RelationManagers;
use App\Models\Subject; use App\Models\Subject;
use App\Models\User;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Form; use Filament\Forms\Form;
use Filament\Resources\Resource; use Filament\Resources\Resource;
@ -68,23 +67,20 @@ class SubjectResource extends Resource
->dateTime() ->dateTime()
->sortable() ->sortable()
->toggleable(isToggledHiddenByDefault: true), ->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
]) ])
->filters([ ->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'), //
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')),
Tables\Actions\RestoreAction::make()->visible(fn (Subject $record) => auth()->user()->hasRole('admin') && $record->trashed()),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteBulkAction::make(),
]), ]),
])
->emptyStateActions([
Tables\Actions\CreateAction::make(),
]); ]);
} }

View File

@ -14,4 +14,11 @@ class EditSubject extends EditRecord
{ {
return 'Edit Mata Pelajaran'; return 'Edit Mata Pelajaran';
} }
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
} }

View File

@ -18,9 +18,7 @@ class ListSubjects extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make() Actions\CreateAction::make()->label('Tambah Mata Pelajaran'),
->label('Tambah Mata Pelajaran')
->icon('heroicon-o-user-group'),
]; ];
} }
} }

View File

@ -112,31 +112,19 @@ class TeacherSubjectResource extends Resource
->relationship('class', 'class_name') ->relationship('class', 'class_name')
->searchable() ->searchable()
->preload(), ->preload(),
Tables\Columns\TextColumn::make('created_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
])
->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'),
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteAction::make(),
Tables\Actions\RestoreAction::make()->visible(fn (TeacherSubject $record) => auth()->user()->hasRole('admin') && $record->trashed()),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteBulkAction::make(),
]), ]),
])
->emptyStateActions([
Tables\Actions\CreateAction::make(),
]); ]);
} }

View File

@ -14,4 +14,11 @@ class EditTeacherSubject extends EditRecord
{ {
return 'Edit Guru per-Mapel'; return 'Edit Guru per-Mapel';
} }
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
} }

View File

@ -18,9 +18,7 @@ class ListTeacherSubjects extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make() Actions\CreateAction::make(),
->label('Tambah Guru per-Mapel')
->icon('heroicon-o-user-group'),
]; ];
} }
} }

View File

@ -109,23 +109,20 @@ class UserResource extends Resource
->dateTime() ->dateTime()
->sortable() ->sortable()
->toggleable(isToggledHiddenByDefault: true), ->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
]) ])
->filters([ ->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'), //
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')),
Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')),
Tables\Actions\RestoreAction::make()->visible(fn (User $record) => auth()->user()->hasRole('admin') && $record->trashed()),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), // Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')),
]), ]),
])
->emptyStateActions([
Tables\Actions\CreateAction::make(),
]); ]);
} }
@ -159,13 +156,4 @@ class UserResource extends Resource
{ {
return 'Pengguna'; return 'Pengguna';
} }
// This method is required to apply the SoftDeletingScope to the query
public static function getEloquentQuery(): Builder
{
return parent::getEloquentQuery()
->withoutGlobalScopes([
SoftDeletingScope::class,
]);
}
} }

View File

@ -13,7 +13,7 @@ class EditUser extends EditRecord
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
// Actions\DeleteAction::make(), Actions\DeleteAction::make(),
]; ];
} }

View File

@ -18,9 +18,7 @@ class ListUsers extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make() Actions\CreateAction::make()->label('Tambah Pengguna'),
->label('Tambah Pengguna')
->icon('heroicon-o-user'),
]; ];
} }
} }

View File

@ -1,44 +0,0 @@
<?php
namespace App\Filament\Widgets;
use App\Models\Student;
use Filament\Tables;
use Filament\Tables\Table;
use Filament\Widgets\TableWidget as BaseWidget;
class AdminRankingWidgets extends BaseWidget
{
protected static ?int $sort = 2;
public static function canView(): bool
{
return false;
}
// protected int | string | array $columnSpan = 'full'; // Atur lebar widget jika perlu
protected function getHeading(): string
{
return 'Ranking';
}
public function table(Table $table): Table
{
return $table
->query(
Student::select('students.id', 'students.full_name')
->join('assessments', 'students.id', '=', 'assessments.student_id')
->selectRaw('AVG(assessments.score) as average_score')
->groupBy('students.id', 'students.full_name')
->orderByDesc('average_score')
)
->columns([
Tables\Columns\TextColumn::make('full_name')
->label('Nama Siswa'),
Tables\Columns\TextColumn::make('average_score')
->label('Rata-rata Nilai')
->sortable()
->formatStateUsing(fn ($state) => number_format($state, 2)),
]);
}
}

View File

@ -1,43 +0,0 @@
<?php
namespace App\Filament\Widgets;
use App\Models\ClassRoom;
use App\Models\Student;
use App\Models\Subject;
use App\Models\User;
use Filament\Widgets\StatsOverviewWidget as BaseWidget;
use Filament\Widgets\StatsOverviewWidget\Stat;
class AdminStatsWidgets extends BaseWidget
{
protected function getColumns(): int
{
return 4;
}
protected function getStats(): array
{
$studnet = count(Student::where('is_active', true)
->get()
->toArray()
);
$teacher = count(User::role('teacher')->get()->toArray());
$classRoom = Classroom::count();
$subject = Subject::count();
$nonTeacherUser = User::whereDoesntHave('roles', function ($query) {
$query->where('name', 'teacher');
})->count();
return [
Stat::make('Total Siswa', $studnet),
Stat::make('Total Guru ', $teacher),
Stat::make('Total Kelas ', $classRoom),
Stat::make('Total Mapel ', $subject),
];
}
}

View File

@ -1,14 +0,0 @@
<?php
namespace App\Filament\Widgets;
use App\Models\ClassRoom;
use App\Models\Student;
use App\Models\Subject;
use App\Models\User;
use Filament\Widgets\StatsOverviewWidget as BaseWidget;
use Filament\Widgets\StatsOverviewWidget\Stat;
class AdminWidgets extends BaseWidget
{
}

View File

@ -3,12 +3,9 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Assessment extends Model class Assessment extends Model
{ {
use SoftDeletes;
protected $fillable = [ protected $fillable = [
'teacher_subject_id', 'teacher_subject_id',
'student_id', 'student_id',

View File

@ -4,12 +4,9 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;
class AssessmentLearningObjective extends Model class AssessmentLearningObjective extends Model
{ {
use SoftDeletes;
protected $fillable = [ protected $fillable = [
'teacher_subject_id', 'teacher_subject_id',
'student_id', 'student_id',

View File

@ -3,12 +3,9 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Attendances extends Model class Attendances extends Model
{ {
use SoftDeletes;
protected $fillable = ['student_id', 'teacher_subject_id', 'date', 'status', 'recorded_by', 'semester', 'notes']; protected $fillable = ['student_id', 'teacher_subject_id', 'date', 'status', 'recorded_by', 'semester', 'notes'];
public function student() public function student()

View File

@ -5,12 +5,9 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
class ClassSubject extends Model class ClassSubject extends Model
{ {
use SoftDeletes;
protected $fillable = ['class_room_id', 'subject_id', 'academic_year_id']; protected $fillable = ['class_room_id', 'subject_id', 'academic_year_id'];
public function subject(): BelongsTo public function subject(): BelongsTo

View File

@ -3,11 +3,9 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Extracurricular extends Model class Extracurricular extends Model
{ {
use SoftDeletes;
protected $fillable = ['name', 'description']; protected $fillable = ['name', 'description'];
public function assessments() public function assessments()

View File

@ -3,12 +3,9 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class ExtracurricularAssessment extends Model class ExtracurricularAssessment extends Model
{ {
use SoftDeletes;
protected $fillable = [ protected $fillable = [
'class_student_id', 'class_student_id',
'extracurricular_id', 'extracurricular_id',

View File

@ -3,12 +3,9 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Student extends Model class Student extends Model
{ {
use SoftDeletes;
protected $fillable = [ protected $fillable = [
'nis', 'nis',
'nisn', 'nisn',

View File

@ -4,12 +4,9 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
class Subject extends Model class Subject extends Model
{ {
use SoftDeletes;
protected $fillable = ['name', 'is_religious', 'category']; protected $fillable = ['name', 'is_religious', 'category'];
public function scopes() public function scopes()

View File

@ -5,12 +5,9 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
class TeacherSubject extends Model class TeacherSubject extends Model
{ {
use SoftDeletes;
protected $fillable = ['teacher_id', 'subject_id', 'class_id', 'academic_year_id']; protected $fillable = ['teacher_id', 'subject_id', 'class_id', 'academic_year_id'];
public function teacher(): BelongsTo public function teacher(): BelongsTo

View File

@ -7,7 +7,6 @@ use Filament\Models\Contracts\FilamentUser;
use Filament\Panel; use Filament\Panel;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable; use Illuminate\Notifications\Notifiable;
use Spatie\Permission\Traits\HasRoles; use Spatie\Permission\Traits\HasRoles;
@ -16,7 +15,6 @@ class User extends Authenticatable implements FilamentUser
{ {
/** @use HasFactory<\Database\Factories\UserFactory> */ /** @use HasFactory<\Database\Factories\UserFactory> */
use HasFactory, Notifiable, HasRoles; use HasFactory, Notifiable, HasRoles;
use SoftDeletes;
/** /**
* The attributes that are mass assignable. * The attributes that are mass assignable.

View File

@ -2,7 +2,6 @@
namespace App\Providers\Filament; namespace App\Providers\Filament;
use App\Filament\Widgets\AdminStatsWidgets;
use Filament\Http\Middleware\Authenticate; use Filament\Http\Middleware\Authenticate;
use Filament\Http\Middleware\AuthenticateSession; use Filament\Http\Middleware\AuthenticateSession;
use Filament\Http\Middleware\DisableBladeIconComponents; use Filament\Http\Middleware\DisableBladeIconComponents;
@ -38,9 +37,8 @@ class AdminPanelProvider extends PanelProvider
]) ])
->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\\Filament\\Widgets') ->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\\Filament\\Widgets')
->widgets([ ->widgets([
// Widgets\AccountWidget::class, Widgets\AccountWidget::class,
// Widgets\FilamentInfoWidget::class, Widgets\FilamentInfoWidget::class,
AdminStatsWidgets::class,
]) ])
->middleware([ ->middleware([
EncryptCookies::class, EncryptCookies::class,
@ -59,7 +57,6 @@ class AdminPanelProvider extends PanelProvider
->plugins([ ->plugins([
\BezhanSalleh\FilamentShield\FilamentShieldPlugin::make(), \BezhanSalleh\FilamentShield\FilamentShieldPlugin::make(),
]) ])
->databaseNotifications()
->brandName('Sistem Akademik Sekolah'); ->brandName('Sistem Akademik Sekolah');
} }
} }

View File

@ -24,7 +24,6 @@ return new class extends Migration
$table->string('password'); $table->string('password');
$table->rememberToken(); $table->rememberToken();
$table->timestamps(); $table->timestamps();
$table->softDeletes();
}); });
Schema::create('password_reset_tokens', function (Blueprint $table) { Schema::create('password_reset_tokens', function (Blueprint $table) {

View File

@ -19,7 +19,6 @@ return new class extends Migration
$table->timestamps(); $table->timestamps();
$table->unique(['name', 'is_religious', 'category']); $table->unique(['name', 'is_religious', 'category']);
$table->softDeletes();
}); });
} }

View File

@ -16,7 +16,6 @@ return new class extends Migration
$table->string('name'); $table->string('name');
$table->text('description')->nullable(); $table->text('description')->nullable();
$table->timestamps(); $table->timestamps();
$table->softDeletes();
}); });
} }

View File

@ -20,7 +20,6 @@ return new class extends Migration
$table->timestamps(); $table->timestamps();
$table->unique(['teacher_id', 'subject_id', 'class_id', 'academic_year_id']); $table->unique(['teacher_id', 'subject_id', 'class_id', 'academic_year_id']);
$table->softDeletes();
}); });
} }

View File

@ -23,7 +23,6 @@ return new class extends Migration
$table->timestamps(); $table->timestamps();
$table->unique(['teacher_subject_id', 'student_id', 'date', 'semester']); $table->unique(['teacher_subject_id', 'student_id', 'date', 'semester']);
$table->softDeletes();
}); });
} }

View File

@ -20,7 +20,6 @@ return new class extends Migration
$table->timestamps(); $table->timestamps();
$table->unique(['teacher_subject_id', 'student_id', 'semester']); $table->unique(['teacher_subject_id', 'student_id', 'semester']);
$table->softDeletes();
}); });
} }

View File

@ -20,7 +20,6 @@ return new class extends Migration
$table->string('semester'); $table->string('semester');
$table->timestamps(); $table->timestamps();
$table->softDeletes();
}); });
} }

View File

@ -15,7 +15,7 @@ return new class extends Migration
$table->uuid('id')->primary(); $table->uuid('id')->primary();
$table->string('type'); $table->string('type');
$table->morphs('notifiable'); $table->morphs('notifiable');
$table->jsonb('data'); $table->text('data');
$table->timestamp('read_at')->nullable(); $table->timestamp('read_at')->nullable();
$table->timestamps(); $table->timestamps();
}); });

View File

@ -18,8 +18,6 @@ return new class extends Migration
$table->foreignId('learning_objective_id')->constrained('learning_objectives')->onDelete('cascade'); $table->foreignId('learning_objective_id')->constrained('learning_objectives')->onDelete('cascade');
$table->enum('type', ['highest', 'lower']); $table->enum('type', ['highest', 'lower']);
$table->timestamps(); $table->timestamps();
$table->softDeletes();
}); });
} }

View File

@ -70,7 +70,7 @@ class UserSeeder extends Seeder
'guard_name' => 'web', 'guard_name' => 'web',
]); ]);
// $teacher->syncPermissions($rolePermissions); $teacher->syncPermissions($rolePermissions);
$role->syncPermissions($rolePermissions); $role->syncPermissions($rolePermissions);
@ -78,8 +78,8 @@ class UserSeeder extends Seeder
$admin->assignRole($role); $admin->assignRole($role);
} }
// if (!$user->hasRole($teacher)) { if (!$user->hasRole($teacher)) {
// $user->assignRole($teacher); $user->assignRole($teacher);
// } }
} }
} }