diff --git a/app/Filament/Resources/Learning/Attendances/Pages/ManageAttendances.php b/app/Filament/Resources/Learning/Attendances/Pages/ManageAttendances.php index 806d7f5..54df747 100644 --- a/app/Filament/Resources/Learning/Attendances/Pages/ManageAttendances.php +++ b/app/Filament/Resources/Learning/Attendances/Pages/ManageAttendances.php @@ -40,7 +40,7 @@ public function getSchedules() ->orWhereHas('students', fn ($asq) => $asq->where('students.id', $student->id)); }); }) - ->with(['course.lecturer.user', 'attendances' => function ($q) use ($student) { + ->with(['course.lecturer', 'attendances' => function ($q) use ($student) { $q->where('student_id', $student->id) ->whereDate('date', now()->toDateString()); }]) diff --git a/app/Filament/Resources/Master/Lecturers/Pages/CreateLecturer.php b/app/Filament/Resources/Master/Lecturers/Pages/CreateLecturer.php index c2e1903..b006610 100644 --- a/app/Filament/Resources/Master/Lecturers/Pages/CreateLecturer.php +++ b/app/Filament/Resources/Master/Lecturers/Pages/CreateLecturer.php @@ -5,12 +5,8 @@ use App\Filament\Actions\BackAction; use App\Filament\Resources\Master\Lecturers\LecturerResource; use App\Filament\Support\SystemNotification; -use App\Models\User; use Filament\Notifications\Notification; use Filament\Resources\Pages\CreateRecord; -use Illuminate\Database\Eloquent\Model; -use Illuminate\Support\Facades\DB; -use Illuminate\Support\Facades\Hash; class CreateLecturer extends CreateRecord { @@ -37,23 +33,4 @@ protected function getCreatedNotification(): ?Notification { return SystemNotification::create(); } - - public function handleRecordCreation(array $data): Model - { - return DB::transaction(function () use ($data) { - $user = User::create([ - 'email' => $data['email'], - 'username' => $data['username'], - 'password' => Hash::make('Minimal8@'), - ]); - - unset($data['email'], $data['username']); - - return $this->getResource()::getModel()::create( - array_merge($data, [ - 'user_id' => $user->id, - ]) - ); - }); - } } diff --git a/app/Filament/Resources/Master/Lecturers/Schemas/LecturerForm.php b/app/Filament/Resources/Master/Lecturers/Schemas/LecturerForm.php index 4d2234f..bcbe999 100644 --- a/app/Filament/Resources/Master/Lecturers/Schemas/LecturerForm.php +++ b/app/Filament/Resources/Master/Lecturers/Schemas/LecturerForm.php @@ -13,7 +13,6 @@ use Filament\Schemas\Components\Grid; use Filament\Schemas\Components\Section; use Filament\Schemas\Schema; -use Illuminate\Support\HtmlString; class LecturerForm { @@ -21,30 +20,6 @@ public static function configure(Schema $schema): Schema { return $schema ->components([ - Section::make('Akun') - ->description(new HtmlString('Alamat Surel dan Nama Pengguna akan digunakan untuk masuk ke dalam sistem. Kata sandi bawaan adalah Minimal8@')) - ->schema([ - TextInput::make('email') - ->label('Alamat Surel') - ->placeholder('johndoe@example.com') - ->autocomplete(false) - ->required() - ->maxLength(254) - ->email() - ->unique('users', 'email', ignoreRecord: true), - - TextInput::make('username') - ->label('Nama Pengguna') - ->placeholder('johndoe') - ->autocomplete(false) - ->required() - ->minLength(5) - ->maxLength(20) - ->regex('/^[a-zA-Z0-9_.-]+$/') - ->unique('users', 'username', ignoreRecord: true), - ]) - ->columns(2) - ->hiddenOn('edit'), Section::make('Informasi Dosen') ->schema([ diff --git a/app/Filament/Resources/Master/Lecturers/Tables/LecturersTable.php b/app/Filament/Resources/Master/Lecturers/Tables/LecturersTable.php index b9b4446..5f1fc0d 100644 --- a/app/Filament/Resources/Master/Lecturers/Tables/LecturersTable.php +++ b/app/Filament/Resources/Master/Lecturers/Tables/LecturersTable.php @@ -26,17 +26,6 @@ public static function configure(Table $table): Table { return $table ->columns([ - TextColumn::make('user.email') - ->label('Akun') - ->formatStateUsing(fn ($state, Lecturer $record) => " -
-
Alamat Surel: {$state}
-
Nama Pengguna: {$record->user?->username}
-
- ") - ->html() - ->searchable(['email', 'username']) - ->sortable(), TextColumn::make('full_name') ->label('Nama Lengkap') diff --git a/app/Models/Lecturer.php b/app/Models/Lecturer.php index 2677813..35420ce 100644 --- a/app/Models/Lecturer.php +++ b/app/Models/Lecturer.php @@ -7,7 +7,6 @@ use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; @@ -37,11 +36,6 @@ protected function male(Builder $query): void $query->where('sex', Sex::Male); } - public function user(): BelongsTo - { - return $this->belongsTo(User::class); - } - public function courses(): HasMany { return $this->hasMany(Course::class); diff --git a/database/migrations/2026_02_25_024502_create_lecturers_table.php b/database/migrations/2026_02_25_024502_create_lecturers_table.php index bf55e04..94558fd 100644 --- a/database/migrations/2026_02_25_024502_create_lecturers_table.php +++ b/database/migrations/2026_02_25_024502_create_lecturers_table.php @@ -14,7 +14,6 @@ public function up(): void { Schema::create('lecturers', function (Blueprint $table) { $table->id(); - $table->foreignId('user_id')->unique()->constrained()->cascadeOnDelete(); $table->string('lecturer_identification_number', 10)->unique(); $table->string('full_name', 100); $table->string('phone_number', 20); diff --git a/database/seeders/LecturerSeeder.php b/database/seeders/LecturerSeeder.php index 7c7b2e1..046b392 100644 --- a/database/seeders/LecturerSeeder.php +++ b/database/seeders/LecturerSeeder.php @@ -6,7 +6,6 @@ use Carbon\Carbon; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Facades\Hash; class LecturerSeeder extends Seeder { @@ -49,15 +48,7 @@ public function run(): void ]; for ($i = 0; $i < 15; $i++) { - - $userId = DB::table('users')->insertGetId([ - 'email' => 'dosen'.($i + 1).'@kampus.ac.id', - 'username' => 'dosen'.($i + 1), - 'password' => Hash::make('Minimal8@'), - ]); - DB::table('lecturers')->insert([ - 'user_id' => $userId, 'lecturer_identification_number' => str_pad($i + 1, 10, '0', STR_PAD_LEFT), 'full_name' => $names[$i], 'phone_number' => '08123456'.rand(1000, 9999),