Compare commits
No commits in common. "da48d1a986b3c44835b9057c97d8c9d7446761e4" and "fabe26bc09860d1a93e2c66811f13e516052b6fb" have entirely different histories.
da48d1a986
...
fabe26bc09
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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(),
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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')),
|
||||||
]),
|
]),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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')
|
||||||
|
|||||||
@ -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(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,4 +14,10 @@ class EditClassRoom extends EditRecord
|
|||||||
{
|
{
|
||||||
return 'Edit Kelas';
|
return 'Edit Kelas';
|
||||||
}
|
}
|
||||||
|
protected function getHeaderActions(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Actions\DeleteAction::make(),
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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'),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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'),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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(),
|
||||||
]),
|
]),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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(),
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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'),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,4 +14,11 @@ class EditExtracurricularAssessment extends EditRecord
|
|||||||
{
|
{
|
||||||
return 'Edit Penilaian Ektrakurikuler';
|
return 'Edit Penilaian Ektrakurikuler';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function getHeaderActions(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Actions\DeleteAction::make(),
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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'),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,4 +14,11 @@ class EditExtracurricular extends EditRecord
|
|||||||
{
|
{
|
||||||
return 'Edit Ektrakuriler';
|
return 'Edit Ektrakuriler';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function getHeaderActions(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Actions\DeleteAction::make(),
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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'),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -39,4 +39,10 @@ class EditHomeRoomTeacher extends EditRecord
|
|||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function getHeaderActions(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Actions\DeleteAction::make(),
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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'),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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(),
|
||||||
]),
|
]),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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(),
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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'),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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();
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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),
|
||||||
];
|
];
|
||||||
|
|||||||
@ -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(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,4 +14,11 @@ class EditSubject extends EditRecord
|
|||||||
{
|
{
|
||||||
return 'Edit Mata Pelajaran';
|
return 'Edit Mata Pelajaran';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function getHeaderActions(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Actions\DeleteAction::make(),
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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'),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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(),
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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'),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ class EditUser extends EditRecord
|
|||||||
protected function getHeaderActions(): array
|
protected function getHeaderActions(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
// Actions\DeleteAction::make(),
|
Actions\DeleteAction::make(),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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'),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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)),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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
|
|
||||||
{
|
|
||||||
}
|
|
||||||
@ -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',
|
||||||
|
|||||||
@ -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',
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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',
|
||||||
|
|||||||
@ -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',
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,6 @@ return new class extends Migration
|
|||||||
$table->string('semester');
|
$table->string('semester');
|
||||||
|
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
$table->softDeletes();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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();
|
||||||
});
|
});
|
||||||
|
|||||||
@ -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();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user