diff --git a/app/Filament/Pages/Information/CourseSchedule/Actions/CreateScheduleAction.php b/app/Filament/Pages/Information/CourseSchedule/Actions/CreateScheduleAction.php index e899510..292585d 100644 --- a/app/Filament/Pages/Information/CourseSchedule/Actions/CreateScheduleAction.php +++ b/app/Filament/Pages/Information/CourseSchedule/Actions/CreateScheduleAction.php @@ -26,7 +26,7 @@ protected function setUp(): void $action->makeModalSubmitAction('createAnother', arguments: ['another' => true]) ->label('Simpan dan Tambah Lagi'), ]) - ->modalWidth(Width::Large) + ->modalWidth(Width::ThreeExtraLarge) ->schema(fn ($livewire) => $livewire->scheduleFormSchema()); } } diff --git a/app/Filament/Pages/Information/CourseSchedule/Actions/EditScheduleAction.php b/app/Filament/Pages/Information/CourseSchedule/Actions/EditScheduleAction.php index 3760672..fb171ef 100644 --- a/app/Filament/Pages/Information/CourseSchedule/Actions/EditScheduleAction.php +++ b/app/Filament/Pages/Information/CourseSchedule/Actions/EditScheduleAction.php @@ -30,7 +30,7 @@ protected function setUp(): void ->modalHeading('Ubah Jadwal Kuliah') ->modalSubmitActionLabel('Simpan') ->modalCancelActionLabel('Batal') - ->modalWidth(Width::Large) + ->modalWidth(Width::ThreeExtraLarge) ->schema(fn ($livewire) => $livewire->scheduleFormSchema()); } } diff --git a/app/Filament/Pages/Information/CourseSchedule/Index.php b/app/Filament/Pages/Information/CourseSchedule/Index.php index b0a4a56..0ee46c8 100644 --- a/app/Filament/Pages/Information/CourseSchedule/Index.php +++ b/app/Filament/Pages/Information/CourseSchedule/Index.php @@ -95,21 +95,14 @@ public function deleteScheduleAction(): Action public function getSchedules(): Collection { - $user = auth()->user(); - $lecturer = $user->lecturer; - - $query = CourseSchedule::with(['course.lecturer']); - - if ($lecturer) { - $query->whereHas('course', fn ($q) => $q->where('lecturer_id', $lecturer->id)); - } + $query = CourseSchedule::with(['course']); $query->whereHas('course', fn ($q) => $q->where('semester', app(GeneralSettings::class)->current_semester)); if ($this->search) { $query->where(function ($q) { - $q->whereHas('course', fn ($sq) => $sq->where('name', 'like', "%{$this->search}%")) - ->orWhereHas('course.lecturer', fn ($sq) => $sq->where('full_name', 'like', "%{$this->search}%")); + $q->whereHas('course', fn ($sq) => $sq->where('name', 'like', "%{$this->search}%") + ->orWhere('lecturer', 'like', "%{$this->search}%")); }); } diff --git a/app/Filament/Resources/Learning/Attendances/Pages/ManageAttendances.php b/app/Filament/Resources/Learning/Attendances/Pages/ManageAttendances.php index c017cec..8cc7925 100644 --- a/app/Filament/Resources/Learning/Attendances/Pages/ManageAttendances.php +++ b/app/Filament/Resources/Learning/Attendances/Pages/ManageAttendances.php @@ -51,7 +51,7 @@ public function getSchedules() ->whereHas('course', function ($q) use ($semester) { $q->where('semester', $semester); }) - ->with(['course.lecturer', 'attendances' => function ($q) use ($student) { + ->with(['course', 'attendances' => function ($q) use ($student) { $q->where('student_id', $student->id) ->whereDate('date', now()->toDateString()); }]) @@ -88,7 +88,7 @@ public function getScheduleCards() return (object) [ 'id' => $schedule->id, 'course_name' => $schedule->course->name, - 'lecturer_name' => $schedule->course->lecturer?->full_name ?? 'Belum Ditentukan', + 'lecturer_name' => $schedule->course->lecturer ?? 'Belum Ditentukan', 'time_range' => $schedule->start_time->format('H:i').' - '.$schedule->end_time->format('H:i'), 'is_attended' => $isAttended, 'can_attend' => $canAttend && ! $isAttended, @@ -187,7 +187,7 @@ public function table(Table $table): Table ->searchable() ->sortable() ->wrap() - ->description(fn (Attendance $record): string => $record->courseSchedule->course->lecturer->full_name), + ->description(fn (Attendance $record): string => $record->courseSchedule->course->lecturer ?? 'Belum Ditentukan'), ]) ->defaultSort('date', 'desc') ->filters([ diff --git a/app/Filament/Resources/Learning/ClassSessions/Pages/ManageClassSessions.php b/app/Filament/Resources/Learning/ClassSessions/Pages/ManageClassSessions.php index 5d38e3f..7a7401a 100644 --- a/app/Filament/Resources/Learning/ClassSessions/Pages/ManageClassSessions.php +++ b/app/Filament/Resources/Learning/ClassSessions/Pages/ManageClassSessions.php @@ -120,7 +120,7 @@ public function getTodaySessions(): Collection ->whereHas('course', function ($query) { $query->where('semester', app(GeneralSettings::class)->current_semester); }) - ->with(['course.lecturer', 'course.classSessions' => fn ($q) => $q->whereDate('date', now())]) + ->with(['course', 'course.classSessions' => fn ($q) => $q->whereDate('date', now())]) ->orderBy('start_time', 'asc') ->get(); @@ -143,13 +143,13 @@ public function getCourses(): Collection { $query = Course::query() ->where('semester', app(GeneralSettings::class)->current_semester) - ->with(['classSessions' => fn ($q) => $q->orderBy('session_number', 'asc'), 'lecturer']); + ->with(['classSessions' => fn ($q) => $q->orderBy('session_number', 'asc')]); if ($this->search) { $query->where(function ($q) { $q->where('name', 'like', "%{$this->search}%") ->orWhere('code', 'like', "%{$this->search}%") - ->orWhereHas('lecturer', fn ($sq) => $sq->where('full_name', 'like', "%{$this->search}%")); + ->orWhere('lecturer', 'like', "%{$this->search}%"); }); } diff --git a/app/Filament/Resources/Master/Courses/CourseResource.php b/app/Filament/Resources/Master/Courses/CourseResource.php index 705e4bc..b6f2fde 100644 --- a/app/Filament/Resources/Master/Courses/CourseResource.php +++ b/app/Filament/Resources/Master/Courses/CourseResource.php @@ -13,7 +13,6 @@ use App\Models\Course; use BackedEnum; use Filament\Actions\BulkActionGroup; -use Filament\Forms\Components\Select; use Filament\Forms\Components\TextInput; use Filament\Resources\Resource; use Filament\Schemas\Schema; @@ -35,6 +34,8 @@ class CourseResource extends Resource protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedRectangleStack; + protected static ?string $title = 'Mata Kuliah'; + protected static ?string $navigationLabel = 'Mata Kuliah'; protected static ?int $navigationSort = 15; @@ -82,13 +83,11 @@ public static function form(Schema $schema): Schema ->maxValue(8) ->helperText('Semester ke berapa mata kuliah ini diajarkan (1-8).'), - Select::make('lecturer_id') + TextInput::make('lecturer') ->label('Dosen Pengampu') - ->placeholder('Pilih Dosen') - ->relationship('lecturer', 'full_name') - ->preload() - ->searchable() - ->helperText('Pilih dosen yang mengampu mata kuliah ini.') + ->placeholder('Ujang') + ->maxLength(100) + ->helperText('Masukkan nama dosen yang mengampu mata kuliah ini.') ->required(), ]) @@ -112,8 +111,9 @@ public static function table(Table $table): Table ->label('SKS') ->sortable(), - TextColumn::make('lecturer.full_name') + TextColumn::make('lecturer') ->label('Dosen Pengampu') + ->placeholder('Belum ditentukan') ->searchable(), ...TimestampColumns::make(), diff --git a/app/Filament/Resources/Master/Lecturers/LecturerResource.php b/app/Filament/Resources/Master/Lecturers/LecturerResource.php deleted file mode 100644 index af85609..0000000 --- a/app/Filament/Resources/Master/Lecturers/LecturerResource.php +++ /dev/null @@ -1,52 +0,0 @@ - ListLecturers::route('/'), - 'create' => CreateLecturer::route('/create'), - 'edit' => EditLecturer::route('/{record}/edit'), - ]; - } -} diff --git a/app/Filament/Resources/Master/Lecturers/Pages/CreateLecturer.php b/app/Filament/Resources/Master/Lecturers/Pages/CreateLecturer.php deleted file mode 100644 index b006610..0000000 --- a/app/Filament/Resources/Master/Lecturers/Pages/CreateLecturer.php +++ /dev/null @@ -1,36 +0,0 @@ -url(ListLecturers::getUrl()), - ]; - } - - protected function getRedirectUrl(): string - { - return $this->getResource()::getUrl('index'); - } - - protected function getCreatedNotification(): ?Notification - { - return SystemNotification::create(); - } -} diff --git a/app/Filament/Resources/Master/Lecturers/Pages/EditLecturer.php b/app/Filament/Resources/Master/Lecturers/Pages/EditLecturer.php deleted file mode 100644 index 68093dc..0000000 --- a/app/Filament/Resources/Master/Lecturers/Pages/EditLecturer.php +++ /dev/null @@ -1,36 +0,0 @@ -url(ListLecturers::getUrl()), - ]; - } - - protected function getRedirectUrl(): string - { - return $this->getResource()::getUrl('index'); - } - - protected function getSavedNotification(): ?Notification - { - return SystemNotification::update(); - } -} diff --git a/app/Filament/Resources/Master/Lecturers/Pages/ListLecturers.php b/app/Filament/Resources/Master/Lecturers/Pages/ListLecturers.php deleted file mode 100644 index a6a1ad5..0000000 --- a/app/Filament/Resources/Master/Lecturers/Pages/ListLecturers.php +++ /dev/null @@ -1,22 +0,0 @@ -label('Tambah'), - ]; - } -} diff --git a/app/Filament/Resources/Master/Lecturers/Schemas/LecturerForm.php b/app/Filament/Resources/Master/Lecturers/Schemas/LecturerForm.php deleted file mode 100644 index bcbe999..0000000 --- a/app/Filament/Resources/Master/Lecturers/Schemas/LecturerForm.php +++ /dev/null @@ -1,121 +0,0 @@ -components([ - - Section::make('Informasi Dosen') - ->schema([ - TextInput::make('full_name') - ->label('Nama Lengkap') - ->placeholder('John Doe') - ->autocomplete(false) - ->required() - ->maxLength(100) - ->minLength(3) - ->autofocus() - ->helperText('Masukkan nama lengkap dosen beserta gelar akademik.') - ->columnSpanFull(), - - Grid::make(3) - ->schema([ - TextInput::make('lecturer_identification_number') - ->label('NIDN') - ->placeholder('1234567890') - ->autocomplete(false) - ->required() - ->numeric() - ->rules(['digits:10']) - ->unique(ignoreRecord: true), - - TextInput::make('phone_number') - ->label('Nomor Telepon') - ->placeholder('0812 3456 78910') - ->autocomplete(false) - ->required() - ->maxLength(20) - ->minLength(10) - ->rules(['regex:/^[0-9 ]+$/']) - ->mask('9999 9999 99999'), - - Radio::make('sex') - ->label('Jenis Kelamin') - ->options(Sex::class) - ->required() - ->inline(), - ]) - ->columnSpanFull(), - - Textarea::make('address') - ->label('Alamat') - ->placeholder('Jl. Contoh No. 123, Kota, Provinsi') - ->autocomplete(false) - ->rows(3) - ->nullable() - ->columnSpanFull(), - - Grid::make(2) - ->schema([ - DatePicker::make('date_of_birth') - ->label('Tanggal Lahir') - ->placeholder('Pilih Tanggal') - ->required() - ->native(false) - ->displayFormat('l, d F Y') - ->maxDate(Carbon::now()->subYears(25)), - - TextInput::make('place_of_birth') - ->label('Tempat Lahir') - ->placeholder('Purwakarta') - ->autocomplete(false) - ->required() - ->maxLength(50) - ->minLength(3), - ]) - ->columnSpanFull(), - ]) - ->columns(2), - - Section::make('Mata Kuliah') - ->description('Daftar mata kuliah yang diampu oleh dosen ini.') - ->schema([ - Select::make('courses') - ->label('Mata Kuliah') - ->multiple() - ->relationship('courses', 'name') - ->options(function () { - return Course::all() - ->groupBy('semester') - ->mapWithKeys(function ($courses, $semester) { - return [ - "Semester $semester" => $courses->pluck('name', 'id')->toArray(), - ]; - }) - ->toArray(); - }) - ->searchable() - ->preload() - ->live() - ->required(), - ]), - ]) - ->columns(1); - } -} diff --git a/app/Filament/Resources/Master/Lecturers/Tables/LecturersTable.php b/app/Filament/Resources/Master/Lecturers/Tables/LecturersTable.php deleted file mode 100644 index 5f1fc0d..0000000 --- a/app/Filament/Resources/Master/Lecturers/Tables/LecturersTable.php +++ /dev/null @@ -1,116 +0,0 @@ -columns([ - - TextColumn::make('full_name') - ->label('Nama Lengkap') - ->searchable(query: function (Builder $query, string $search) { - $query->where('full_name', 'like', "%{$search}%") - ->orWhere('lecturer_identification_number', 'like', "%{$search}%"); - }) - ->sortable() - ->description(fn (Lecturer $record) => $record->lecturer_identification_number), - - TextColumn::make('phone_number') - ->label('No. Telepon') - ->searchable() - ->sortable(), - - TextColumn::make('sex') - ->label('Jenis Kelamin') - ->badge() - ->sortable() - ->searchable(query: function ($query, string $search) { - $search = strtolower($search); - - if (str_contains('laki-laki', $search)) { - $query->orWhere('sex', 'male'); - } - - if (str_contains('perempuan', $search)) { - $query->orWhere('sex', 'female'); - } - }), - - TextColumn::make('date_of_birth') - ->label('TTL') - ->date('d F Y') - ->sortable() - ->prefix(fn (Lecturer $record) => $record->place_of_birth ? $record->place_of_birth.', ' : ''), - - TextColumn::make('address') - ->label('Alamat') - ->limit(50), - - TextColumn::make('courses.name') - ->label('Mata Kuliah') - ->badge() - ->searchable() - ->listWithLineBreaks(), - - ...TimestampColumns::make(), - ]) - ->filters([ - SelectFilter::make('sex') - ->label('Jenis Kelamin') - ->options(Sex::class) - ->native(false), - - SelectFilter::make('courses') - ->label('Mata Kuliah') - ->relationship('courses', 'name') - ->multiple() - ->preload(), - - TrashedFilter::make() - ->native(false) - ->visible(fn () => auth()->user()->hasRole(RoleEnum::Developer)), - ]) - ->recordActions([ - EditAction::make() - ->modalWidth(Width::Large), - - DeleteAction::make(), - - ForceDeleteAction::make(), - - RestoreAction::make(), - ]) - ->toolbarActions([ - BulkActionGroup::make([ - ...DefaultBulkActions::make('Dosen'), - ]), - ]) - ->emptyStateIcon(Heroicon::OutlinedUserGroup) - ->emptyStateDescription('Setelah Anda membuat data pertama, maka akan muncul disini.') - ->defaultSort('created_at', 'desc') - ->deferFilters(false) - ->paginated([25, 50, 100, 'all']) - ->defaultPaginationPageOption(25); - } -} diff --git a/app/Models/Course.php b/app/Models/Course.php index a40e9df..9d55ebf 100644 --- a/app/Models/Course.php +++ b/app/Models/Course.php @@ -2,10 +2,8 @@ namespace App\Models; -use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; @@ -23,18 +21,6 @@ protected static function booted() }); } - public function lecturer(): BelongsTo - { - return $this->belongsTo(Lecturer::class); - } - - public static function getOptionsForLecturer(Lecturer $lecturer): Collection - { - return static::query() - ->where('lecturer_id', $lecturer->id) - ->get(); - } - public function materials(): HasMany { return $this->hasMany(Material::class); diff --git a/app/Models/Lecturer.php b/app/Models/Lecturer.php deleted file mode 100644 index 35420ce..0000000 --- a/app/Models/Lecturer.php +++ /dev/null @@ -1,43 +0,0 @@ - 'date', - 'sex' => Sex::class, - ]; - } - - #[Scope] - protected function female(Builder $query): void - { - $query->where('sex', Sex::Female); - } - - #[Scope] - protected function male(Builder $query): void - { - $query->where('sex', Sex::Male); - } - - public function courses(): HasMany - { - return $this->hasMany(Course::class); - } -} diff --git a/app/Policies/LecturerPolicy.php b/app/Policies/LecturerPolicy.php deleted file mode 100644 index 6f82ccb..0000000 --- a/app/Policies/LecturerPolicy.php +++ /dev/null @@ -1,69 +0,0 @@ -can('ViewAny:Lecturer'); - } - - public function view(AuthUser $authUser, Lecturer $lecturer): bool - { - return $authUser->can('View:Lecturer'); - } - - public function create(AuthUser $authUser): bool - { - return $authUser->can('Create:Lecturer'); - } - - public function update(AuthUser $authUser, Lecturer $lecturer): bool - { - return $authUser->can('Update:Lecturer'); - } - - public function delete(AuthUser $authUser, Lecturer $lecturer): bool - { - return $authUser->can('Delete:Lecturer'); - } - - public function restore(AuthUser $authUser, Lecturer $lecturer): bool - { - return $authUser->can('Restore:Lecturer'); - } - - public function forceDelete(AuthUser $authUser, Lecturer $lecturer): bool - { - return $authUser->can('ForceDelete:Lecturer'); - } - - public function forceDeleteAny(AuthUser $authUser): bool - { - return $authUser->can('ForceDeleteAny:Lecturer'); - } - - public function restoreAny(AuthUser $authUser): bool - { - return $authUser->can('RestoreAny:Lecturer'); - } - - public function replicate(AuthUser $authUser, Lecturer $lecturer): bool - { - return $authUser->can('Replicate:Lecturer'); - } - - public function reorder(AuthUser $authUser): bool - { - return $authUser->can('Reorder:Lecturer'); - } -} diff --git a/database/migrations/2026_02_25_024502_create_lecturers_table.php b/database/migrations/2026_02_25_024502_create_lecturers_table.php deleted file mode 100644 index 94558fd..0000000 --- a/database/migrations/2026_02_25_024502_create_lecturers_table.php +++ /dev/null @@ -1,37 +0,0 @@ -id(); - $table->string('lecturer_identification_number', 10)->unique(); - $table->string('full_name', 100); - $table->string('phone_number', 20); - $table->enum('sex', Sex::cases()); - $table->text('address')->nullable(); - $table->date('date_of_birth'); - $table->string('place_of_birth', 50); - $table->timestamp('created_at')->useCurrent(); - $table->timestamp('updated_at')->nullable()->useCurrentOnUpdate(); - $table->softDeletes(); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropIfExists('lecturers'); - } -}; diff --git a/database/migrations/2026_02_25_024503_create_courses_table.php b/database/migrations/2026_02_25_024503_create_courses_table.php index 190fd3d..c02be62 100644 --- a/database/migrations/2026_02_25_024503_create_courses_table.php +++ b/database/migrations/2026_02_25_024503_create_courses_table.php @@ -13,7 +13,7 @@ public function up(): void { Schema::create('courses', function (Blueprint $table) { $table->id(); - $table->foreignId('lecturer_id')->nullable()->constrained()->nullOnDelete(); + $table->string('lecturer', 100)->nullable(); $table->string('code', 20)->unique(); $table->string('name', 100); $table->integer('credit')->default(3); diff --git a/database/seeders/CourseSeeder.php b/database/seeders/CourseSeeder.php index 5cd2855..89cbf02 100644 --- a/database/seeders/CourseSeeder.php +++ b/database/seeders/CourseSeeder.php @@ -3,7 +3,6 @@ namespace Database\Seeders; use App\Models\Course; -use App\Models\Lecturer; use Illuminate\Database\Seeder; class CourseSeeder extends Seeder @@ -13,6 +12,17 @@ class CourseSeeder extends Seeder */ public function run(): void { + $lecturers = [ + 'Dr. Ahmad Hidayat', + 'Siti Aminah, M.Kom.', + 'Budi Santoso, S.T., M.T.', + 'Dr. Ir. Heru Prasetyo', + 'Lusi Fitriani, M.Sc.', + 'Andi Wijaya, M.T.', + 'Rina Wahyuni, Ph.D.', + 'Dian Pratama, M.Kom.', + ]; + $courses = [ // Semester 1 ['code' => 'SIU101', 'name' => 'Ilmu Amaliah, Sosial, dan Budaya Dasar', 'credit' => 2, 'semester' => 1], @@ -84,31 +94,8 @@ public function run(): void ['code' => 'FSI839', 'name' => 'Startup Digital', 'credit' => 2, 'semester' => 8], ]; - $lecturers = Lecturer::pluck('id')->toArray(); - - shuffle($lecturers); - - $lecturerSemesterMap = []; - - foreach ($courses as $i => &$course) { - - $semester = $course['semester']; - - if ($i < count($lecturers)) { - $lecturerId = $lecturers[$i]; - } else { - - do { - $lecturerId = $lecturers[array_rand($lecturers)]; - } while ( - isset($lecturerSemesterMap[$lecturerId]) && - in_array($semester, $lecturerSemesterMap[$lecturerId]) - ); - } - - $course['lecturer_id'] = $lecturerId; - - $lecturerSemesterMap[$lecturerId][] = $semester; + foreach ($courses as &$course) { + $course['lecturer'] = $lecturers[array_rand($lecturers)]; } Course::insert($courses); diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 8d9a61e..7b01b20 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -17,7 +17,6 @@ public function run(): void $this->call([ ShieldSeeder::class, UserSeeder::class, - LecturerSeeder::class, StudentSeeder::class, CourseSeeder::class, CourseScheduleSeeder::class, diff --git a/database/seeders/LecturerSeeder.php b/database/seeders/LecturerSeeder.php deleted file mode 100644 index 046b392..0000000 --- a/database/seeders/LecturerSeeder.php +++ /dev/null @@ -1,62 +0,0 @@ -insert([ - 'lecturer_identification_number' => str_pad($i + 1, 10, '0', STR_PAD_LEFT), - 'full_name' => $names[$i], - 'phone_number' => '08123456'.rand(1000, 9999), - 'sex' => $i % 2 === 0 ? Sex::Male->value : Sex::Female->value, - 'address' => 'Jl. Kampus No. '.rand(1, 200), - 'date_of_birth' => Carbon::now()->subYears(rand(30, 55))->toDateString(), - 'place_of_birth' => $cities[$i], - ]); - } - } -} diff --git a/database/seeders/ShieldSeeder.php b/database/seeders/ShieldSeeder.php index 66c5357..6b96c8b 100644 --- a/database/seeders/ShieldSeeder.php +++ b/database/seeders/ShieldSeeder.php @@ -34,17 +34,6 @@ public function run(): void "Replicate:Student", "Reorder:Student", - "ViewAny:Lecturer", - "View:Lecturer", - "Create:Lecturer", - "Update:Lecturer", - "Delete:Lecturer", - "Restore:Lecturer", - "ForceDelete:Lecturer", - "ForceDeleteAny:Lecturer", - "RestoreAny:Lecturer", - "Replicate:Lecturer", - "Reorder:Lecturer", "ViewAny:Course", "View:Course", @@ -153,8 +142,6 @@ public function run(): void "ViewAny:Student", "View:Student", - "ViewAny:Lecturer", - "View:Lecturer", "ViewAny:Course", "View:Course", @@ -183,9 +170,6 @@ public function run(): void "Update:Student", "Delete:Student", - "Create:Lecturer", - "Update:Lecturer", - "Delete:Lecturer", "Create:Course", "Update:Course", diff --git a/resources/views/filament/pages/information/list-course-schedules.blade.php b/resources/views/filament/pages/information/list-course-schedules.blade.php index ffef06e..c56687b 100644 --- a/resources/views/filament/pages/information/list-course-schedules.blade.php +++ b/resources/views/filament/pages/information/list-course-schedules.blade.php @@ -1,135 +1,138 @@ - -
-
- +
+ +
+
+ -
- Geser ke samping untuk melihat hari lainnya. +
+ Geser ke samping untuk melihat hari lainnya. +
-
-
-
- {{ $this->form }} +
+
+ {{ $this->form }} +
-
- @if ($schedules->isNotEmpty()) -
-
+ @if ($schedules->isNotEmpty()) +
+
- @foreach ($days as $dayNumber => $dayName) - @php - $daySchedules = $schedules->get($dayNumber); - @endphp + @foreach ($days as $dayNumber => $dayName) + @php + $daySchedules = $schedules->get($dayNumber); + @endphp - @if ($daySchedules && $daySchedules->count() > 0) -
+ @if ($daySchedules && $daySchedules->count() > 0) +
-
- -

- {{ $dayName }} -

-
+
+ +

+ {{ $dayName }} +

+
-
- @foreach ($daySchedules as $schedule) -
+
+ @foreach ($daySchedules as $schedule) +
-
-
-
- - {{ $schedule->course->code ?? 'MATKUL' }} - - - @if ($schedule->mode) - @php - $color = $schedule->mode->getColor(); - @endphp +
+
+
- {{ $schedule->mode->getLabel() }} + class="inline-flex items-center rounded-md bg-primary-50 dark:bg-primary-500/10 px-2 py-1 text-xs font-semibold text-primary-700 dark:text-primary-300 ring-1 ring-inset ring-primary-600/20"> + {{ $schedule->course->code ?? 'MATKUL' }} + + + @if ($schedule->mode) + @php + $color = $schedule->mode->getColor(); + @endphp + + {{ $schedule->mode->getLabel() }} + + @endif +
+ + @if ($schedule->room) + + + {{ $schedule->room }} @endif
- @if ($schedule->room) - - - {{ $schedule->room }} +

+ {{ $schedule->course->name ?? 'Mata Kuliah Tidak Diketahui' }} +

+ +
+ + + {{ $schedule->course->lecturer ?? 'Dosen Belum Ditentukan' }} - @endif -
- -

- {{ $schedule->course->name ?? 'Mata Kuliah Tidak Diketahui' }} -

-
- - - {{ $schedule->course->lecturer->full_name ?? 'Dosen Belum Ditentukan' }} - -
- -
- @if ($schedule->course?->semester) - - - Semester {{ $schedule->course->semester }} - - @endif -
- -
-
- - {{ $schedule->start_time->format('H:i') }} - - {{ $schedule->end_time->format('H:i') }}
- - {{ $schedule->course->credit ?? '-' }} SKS - -
- - @canAny(['Update:CourseSchedule', 'Delete:CourseSchedule']) -
- {{ ($this->editScheduleAction)(['schedule' => $schedule->id]) }} - - {{ ($this->deleteScheduleAction)(['schedule' => $schedule->id]) }} +
+ @if ($schedule->course?->semester) + + + Semester {{ $schedule->course->semester }} + + @endif
- @endcanAny + +
+
+ + {{ $schedule->start_time->format('H:i') }} + + {{ $schedule->end_time->format('H:i') }} +
+ + + {{ $schedule->course->credit ?? '-' }} SKS + +
+ + @canAny(['Update:CourseSchedule', 'Delete:CourseSchedule']) +
+ {{ ($this->editScheduleAction)(['schedule' => $schedule->id]) }} + + {{ ($this->deleteScheduleAction)(['schedule' => $schedule->id]) }} +
+ @endcanAny +
-
- @endforeach -
-
- @endif - @endforeach + @endforeach +
+ + @endif + @endforeach +
-
- @endif + @endif - @if ($schedules->isEmpty()) - - - @endif - + @if ($schedules->isEmpty()) + + + @endif + +
diff --git a/resources/views/filament/pages/learning/class-session/index.blade.php b/resources/views/filament/pages/learning/class-session/index.blade.php index 7fadc6d..1a3f92c 100644 --- a/resources/views/filament/pages/learning/class-session/index.blade.php +++ b/resources/views/filament/pages/learning/class-session/index.blade.php @@ -46,7 +46,7 @@ {{ $session->course->name }}

- {{ $session->course->code }} • {{ $session->course->lecturer->full_name ?? '-' }} + {{ $session->course->code }} • {{ $session->course->lecturer ?? '-' }}

{{ $course->lecturer->full_name ?? 'Dosen Belum Ditentukan' }} + class="truncate">{{ $course->lecturer ?? 'Dosen Belum Ditentukan' }}
diff --git a/resources/views/filament/resources/learning/class-sessions/manage-class-sessions.blade.php b/resources/views/filament/resources/learning/class-sessions/manage-class-sessions.blade.php index 49c12d1..ae4b246 100644 --- a/resources/views/filament/resources/learning/class-sessions/manage-class-sessions.blade.php +++ b/resources/views/filament/resources/learning/class-sessions/manage-class-sessions.blade.php @@ -40,7 +40,7 @@ class="w-4 h-4 transition-transform duration-300"
- {{ $course->lecturer->full_name ?? 'Dosen Belum Ditentukan' }} + {{ $course->lecturer ?? 'Dosen Belum Ditentukan' }}
diff --git a/resources/views/pages/share-attendance.blade.php b/resources/views/pages/share-attendance.blade.php index c41a250..82aff73 100644 --- a/resources/views/pages/share-attendance.blade.php +++ b/resources/views/pages/share-attendance.blade.php @@ -108,7 +108,7 @@ class="badge bg-zinc-100 dark:bg-zinc-800 text-zinc-600 dark:text-zinc-400 capit

{{ $course->name }}

- {{ $course->lecturer->full_name }} + {{ $course->lecturer }}