- Kelas:{' '} - {assignment.course_class?.class_name - ? `${assignment.course_class.class_name} - ` - : ''} - {assignment.course_class?.course?.code}{' '} + Kelas: {assignment.course_class?.course?.code}{' '} {assignment.course_class?.course?.name}
diff --git a/resources/js/pages/admin/academic-classes/attendances/index.tsx b/resources/js/pages/admin/academic-classes/attendances/index.tsx index 0b929a8..525556d 100644 --- a/resources/js/pages/admin/academic-classes/attendances/index.tsx +++ b/resources/js/pages/admin/academic-classes/attendances/index.tsx @@ -35,11 +35,7 @@ type Props = { }; function courseClassLabel(courseClass: AttendanceCourseClass): string { - const namePart = courseClass.class_name - ? `${courseClass.class_name} - ` - : ''; - - return `${namePart}${courseClass.course?.code ?? ''} ${courseClass.course?.name ?? ''}`; + return `${courseClass.course?.code ?? ''} ${courseClass.course?.name ?? ''}`; } export default function AttendanceIndex({ sessions, courseClasses }: Props) { diff --git a/resources/js/pages/admin/academic-classes/attendances/session.tsx b/resources/js/pages/admin/academic-classes/attendances/session.tsx index dcbe61f..781730d 100644 --- a/resources/js/pages/admin/academic-classes/attendances/session.tsx +++ b/resources/js/pages/admin/academic-classes/attendances/session.tsx @@ -26,11 +26,7 @@ type Props = { }; function courseClassLabel(courseClass: AttendanceCourseClass): string { - const namePart = courseClass.class_name - ? `${courseClass.class_name} - ` - : ''; - - return `${namePart}${courseClass.course?.code ?? ''} ${courseClass.course?.name ?? ''}`; + return `${courseClass.course?.code ?? ''} ${courseClass.course?.name ?? ''}`; } export default function AttendanceSession({ diff --git a/resources/js/pages/admin/academic-classes/course-registrations/columns.tsx b/resources/js/pages/admin/academic-classes/course-registrations/columns.tsx index fad4ecc..30dd4cb 100644 --- a/resources/js/pages/admin/academic-classes/course-registrations/columns.tsx +++ b/resources/js/pages/admin/academic-classes/course-registrations/columns.tsx @@ -54,9 +54,6 @@ export function createCourseRegistrationColumns(
{courseClass?.course?.code} - {courseClass?.class_name - ? ` ยท ${courseClass.class_name}` - : ''}
); diff --git a/resources/js/pages/admin/academic-classes/course-registrations/index.tsx b/resources/js/pages/admin/academic-classes/course-registrations/index.tsx index be8bcfb..3bbaa0b 100644 --- a/resources/js/pages/admin/academic-classes/course-registrations/index.tsx +++ b/resources/js/pages/admin/academic-classes/course-registrations/index.tsx @@ -68,9 +68,8 @@ function studentLabel(student: CourseRegistrationStudent): string { function courseClassLabel(courseClass: CourseRegistrationCourseClass): string { const course = courseClass.course; - const suffix = courseClass.class_name ? ` (${courseClass.class_name})` : ''; - return `${course?.code ?? '-'} - ${course?.name ?? 'N/A'}${suffix}`; + return `${course?.code ?? '-'} - ${course?.name ?? 'N/A'}`; } function lecturerLabel(lecturer: LecturerOption): string { diff --git a/resources/js/pages/admin/academic-classes/materials/columns.tsx b/resources/js/pages/admin/academic-classes/materials/columns.tsx index 2a88c05..1de7270 100644 --- a/resources/js/pages/admin/academic-classes/materials/columns.tsx +++ b/resources/js/pages/admin/academic-classes/materials/columns.tsx @@ -49,7 +49,7 @@ export function createMaterialColumns( ), }, { - accessorKey: 'course_class.class_name', + accessorKey: 'course_class.course.name', header: () => Kelas, cell: ({ row }) => { const courseClass = row.original.course_class; @@ -58,11 +58,7 @@ export function createMaterialColumns( return '-'; } - const label = courseClass.class_name - ? `${courseClass.class_name} - ` - : ''; - - return `${label}${courseClass.course?.code ?? ''} ${courseClass.course?.name ?? ''}`; + return `${courseClass.course?.code ?? ''} ${courseClass.course?.name ?? ''}`; }, }, { diff --git a/resources/js/pages/admin/academic-classes/materials/index.tsx b/resources/js/pages/admin/academic-classes/materials/index.tsx index 87aa8ee..9f87fb0 100644 --- a/resources/js/pages/admin/academic-classes/materials/index.tsx +++ b/resources/js/pages/admin/academic-classes/materials/index.tsx @@ -33,7 +33,6 @@ import { createMaterialColumns } from './columns'; type CourseClassOption = { id: number; - class_name: string | null; course: { id: number; code: string; name: string } | null; }; @@ -53,11 +52,7 @@ type Props = { }; function courseClassLabel(courseClass: CourseClassOption): string { - const namePart = courseClass.class_name - ? `${courseClass.class_name} - ` - : ''; - - return `${namePart}${courseClass.course?.code ?? ''} ${courseClass.course?.name ?? ''}`; + return `${courseClass.course?.code ?? ''} ${courseClass.course?.name ?? ''}`; } export default function MaterialIndex({ diff --git a/resources/js/pages/admin/academic-classes/schedules/index.tsx b/resources/js/pages/admin/academic-classes/schedules/index.tsx index b0817d8..e637333 100644 --- a/resources/js/pages/admin/academic-classes/schedules/index.tsx +++ b/resources/js/pages/admin/academic-classes/schedules/index.tsx @@ -19,13 +19,16 @@ import { SelectValue, } from '@/components/ui/select'; import { cn } from '@/lib/utils'; -import { destroy, store, update } from '@/routes/admin/academic-classes/schedules'; +import { + destroy, + store, + update, +} from '@/routes/admin/academic-classes/schedules'; import type { Schedule } from '@/types/schedule'; import { DayOfWeekLabels, DaysOfWeek } from '@/types/schedule'; type CourseClassOption = { id: number; - class_name: string | null; course: { id: number; code: string; name: string } | null; }; @@ -40,11 +43,7 @@ const UNSCHEDULED = '__unscheduled__'; const BOARD_COLUMNS = [...DaysOfWeek, UNSCHEDULED] as const; function courseClassLabel(courseClass: CourseClassOption): string { - const namePart = courseClass.class_name - ? `${courseClass.class_name} - ` - : ''; - - return `${namePart}${courseClass.course?.code ?? ''} ${courseClass.course?.name ?? ''}`; + return `${courseClass.course?.code ?? ''} ${courseClass.course?.name ?? ''}`; } function toTimeInput(value: string | null): string { @@ -166,8 +165,6 @@ export default function ScheduleIndex({ {courseClassLabel( schedule.course_class ?? { id: 0, - class_name: - null, course: null, }, )} @@ -253,7 +250,7 @@ export default function ScheduleIndex({ }} title="Hapus Jadwal" description={(schedule) => - `Apakah Anda yakin ingin menghapus jadwal "${schedule.course_class?.class_name ?? schedule.course_class?.course?.name ?? 'ini'}"? Tindakan ini tidak dapat dibatalkan.` + `Apakah Anda yakin ingin menghapus jadwal "${schedule.course_class?.course?.name ?? 'ini'}"? Tindakan ini tidak dapat dibatalkan.` } onConfirm={handleDelete} /> diff --git a/resources/js/pages/admin/manage/course-classes/columns.tsx b/resources/js/pages/admin/manage/course-classes/columns.tsx index d2e60f1..7ab3bd0 100644 --- a/resources/js/pages/admin/manage/course-classes/columns.tsx +++ b/resources/js/pages/admin/manage/course-classes/columns.tsx @@ -19,15 +19,6 @@ export function createCourseClassColumns( const { handleEdit, handleDeleteClick } = params; return [ - { - accessorKey: 'class_name', - header: () => Kelas, - cell: ({ row }) => ( - - {(row.getValue('class_name') as string | null) ?? '-'} - - ), - }, { accessorKey: 'course.name', header: () => Mata Kuliah, diff --git a/resources/js/pages/admin/manage/course-classes/enrollments.tsx b/resources/js/pages/admin/manage/course-classes/enrollments.tsx index 0a256e1..fbf772c 100644 --- a/resources/js/pages/admin/manage/course-classes/enrollments.tsx +++ b/resources/js/pages/admin/manage/course-classes/enrollments.tsx @@ -119,9 +119,7 @@ export default function ClassEnrollmentIndex({
diff --git a/resources/js/pages/admin/manage/course-classes/index.tsx b/resources/js/pages/admin/manage/course-classes/index.tsx
index 7edbcc8..6ce036f 100644
--- a/resources/js/pages/admin/manage/course-classes/index.tsx
+++ b/resources/js/pages/admin/manage/course-classes/index.tsx
@@ -10,7 +10,14 @@ import { FormDialog } from '@/components/form-dialog';
import InputError from '@/components/input-error';
import { PageHeader } from '@/components/page-header';
import { Button } from '@/components/ui/button';
-import { Input } from '@/components/ui/input';
+import {
+ Combobox,
+ ComboboxContent,
+ ComboboxEmpty,
+ ComboboxInput,
+ ComboboxItem,
+ ComboboxList,
+} from '@/components/ui/combobox';
import { Label } from '@/components/ui/label';
import {
Select,
@@ -34,7 +41,7 @@ type Course = { id: number; code: string; name: string; department_id: number };
type Lecturer = {
id: number;
lecturer_number: string;
- department_id: number;
+ departments: { id: number; name: string }[];
user: { profile: { full_name: string } | null } | null;
};
type AcademicTerm = { id: number; name: string; semester: string };
@@ -189,7 +196,7 @@ export default function CourseClassIndex({