Merge pull request 'feat: implement Course Registration management with CRUD functionality' (#64) from refactor/move-Course-Registration-from-academic-class-to-manage into dev
Reviewed-on: #64
This commit is contained in:
commit
783a0f6dda
@ -1,13 +1,13 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers\Admin\AcademicClasses;
|
namespace App\Http\Controllers\Admin\Manage;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests\Admin\AcademicClasses\CourseRegistrationRequest;
|
use App\Http\Requests\Admin\Manage\CourseRegistrationRequest;
|
||||||
use App\Http\Requests\PaginatedRequest;
|
use App\Http\Requests\PaginatedRequest;
|
||||||
use App\Models\CourseRegistration;
|
use App\Models\CourseRegistration;
|
||||||
use App\Services\Admin\AcademicClasses\CourseRegistrationService;
|
|
||||||
use App\Services\Admin\Manage\CourseClassService;
|
use App\Services\Admin\Manage\CourseClassService;
|
||||||
|
use App\Services\Admin\Manage\CourseRegistrationService;
|
||||||
use App\Services\Admin\Master\AcademicTermService;
|
use App\Services\Admin\Master\AcademicTermService;
|
||||||
use App\Services\Admin\Users\LecturerService;
|
use App\Services\Admin\Users\LecturerService;
|
||||||
use App\Services\Admin\Users\StudentService;
|
use App\Services\Admin\Users\StudentService;
|
||||||
@ -27,7 +27,7 @@ public function __construct(
|
|||||||
|
|
||||||
public function index(PaginatedRequest $request): Response
|
public function index(PaginatedRequest $request): Response
|
||||||
{
|
{
|
||||||
return Inertia::render('admin/academic-classes/course-registrations/index', [
|
return Inertia::render('admin/manage/course-registrations/index', [
|
||||||
'registrations' => $this->service->paginated(
|
'registrations' => $this->service->paginated(
|
||||||
...$request->validatedWithDefaults(),
|
...$request->validatedWithDefaults(),
|
||||||
status: $request->validated('status'),
|
status: $request->validated('status'),
|
||||||
@ -47,7 +47,7 @@ public function store(CourseRegistrationRequest $request): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Registrasi KRS berhasil ditambahkan.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Registrasi KRS berhasil ditambahkan.']);
|
||||||
|
|
||||||
return to_route('admin.academic-classes.course-registrations.index');
|
return to_route('admin.manage.course-registrations.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(CourseRegistrationRequest $request, CourseRegistration $courseRegistration): RedirectResponse
|
public function update(CourseRegistrationRequest $request, CourseRegistration $courseRegistration): RedirectResponse
|
||||||
@ -56,7 +56,7 @@ public function update(CourseRegistrationRequest $request, CourseRegistration $c
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Registrasi KRS berhasil diperbarui.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Registrasi KRS berhasil diperbarui.']);
|
||||||
|
|
||||||
return to_route('admin.academic-classes.course-registrations.index');
|
return to_route('admin.manage.course-registrations.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy(CourseRegistration $courseRegistration): RedirectResponse
|
public function destroy(CourseRegistration $courseRegistration): RedirectResponse
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Requests\Admin\AcademicClasses;
|
namespace App\Http\Requests\Admin\Manage;
|
||||||
|
|
||||||
use App\Enums\RegistrationStatus;
|
use App\Enums\RegistrationStatus;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Services\Admin\AcademicClasses;
|
namespace App\Services\Admin\Manage;
|
||||||
|
|
||||||
use App\Enums\RegistrationStatus;
|
use App\Enums\RegistrationStatus;
|
||||||
use App\Models\ClassEnrollment;
|
use App\Models\ClassEnrollment;
|
||||||
@ -38,13 +38,13 @@ import {
|
|||||||
} from '@/components/ui/sidebar';
|
} from '@/components/ui/sidebar';
|
||||||
import { index as assignmentsRoute } from '@/routes/admin/academic-classes/assignments';
|
import { index as assignmentsRoute } from '@/routes/admin/academic-classes/assignments';
|
||||||
import { index as attendancesRoute } from '@/routes/admin/academic-classes/attendances';
|
import { index as attendancesRoute } from '@/routes/admin/academic-classes/attendances';
|
||||||
import { index as courseRegistrationsRoute } from '@/routes/admin/academic-classes/course-registrations';
|
|
||||||
import { index as materialsRoute } from '@/routes/admin/academic-classes/materials';
|
import { index as materialsRoute } from '@/routes/admin/academic-classes/materials';
|
||||||
import { index as schedulesRoute } from '@/routes/admin/academic-classes/schedules';
|
import { index as schedulesRoute } from '@/routes/admin/academic-classes/schedules';
|
||||||
import { index as announcementsRoute } from '@/routes/admin/announcements';
|
import { index as announcementsRoute } from '@/routes/admin/announcements';
|
||||||
import { index as feedbackRoute } from '@/routes/admin/feedback';
|
import { index as feedbackRoute } from '@/routes/admin/feedback';
|
||||||
import { index as tuitionInvoicesRoute } from '@/routes/admin/finances/tuition-invoices';
|
import { index as tuitionInvoicesRoute } from '@/routes/admin/finances/tuition-invoices';
|
||||||
import { index as courseClassesRoute } from '@/routes/admin/manage/course-classes';
|
import { index as courseClassesRoute } from '@/routes/admin/manage/course-classes';
|
||||||
|
import { index as courseRegistrationsRoute } from '@/routes/admin/manage/course-registrations';
|
||||||
import { index as academicTerm } from '@/routes/admin/master/academic-terms';
|
import { index as academicTerm } from '@/routes/admin/master/academic-terms';
|
||||||
import { index as coursesRoute } from '@/routes/admin/master/courses';
|
import { index as coursesRoute } from '@/routes/admin/master/courses';
|
||||||
import { index as departmentsRoute } from '@/routes/admin/master/departments';
|
import { index as departmentsRoute } from '@/routes/admin/master/departments';
|
||||||
@ -110,6 +110,11 @@ const data: {
|
|||||||
{
|
{
|
||||||
label: 'Kelola',
|
label: 'Kelola',
|
||||||
items: [
|
items: [
|
||||||
|
{
|
||||||
|
name: 'Registrasi KRS',
|
||||||
|
url: courseRegistrationsRoute.url(),
|
||||||
|
icon: FileCheck2,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'Kelas Mata Kuliah',
|
name: 'Kelas Mata Kuliah',
|
||||||
url: courseClassesRoute.url(),
|
url: courseClassesRoute.url(),
|
||||||
@ -120,11 +125,6 @@ const data: {
|
|||||||
{
|
{
|
||||||
label: 'Kelas',
|
label: 'Kelas',
|
||||||
items: [
|
items: [
|
||||||
{
|
|
||||||
name: 'Registrasi KRS',
|
|
||||||
url: courseRegistrationsRoute.url(),
|
|
||||||
icon: FileCheck2,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: 'Materi',
|
name: 'Materi',
|
||||||
url: materialsRoute.url(),
|
url: materialsRoute.url(),
|
||||||
|
|||||||
@ -24,7 +24,7 @@ import {
|
|||||||
destroy,
|
destroy,
|
||||||
store,
|
store,
|
||||||
update,
|
update,
|
||||||
} from '@/routes/admin/academic-classes/course-registrations';
|
} from '@/routes/admin/manage/course-registrations';
|
||||||
import type {
|
import type {
|
||||||
CourseRegistration,
|
CourseRegistration,
|
||||||
CourseRegistrationCourseClass,
|
CourseRegistrationCourseClass,
|
||||||
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
use App\Http\Controllers\Admin\AcademicClasses\AssignmentController;
|
use App\Http\Controllers\Admin\AcademicClasses\AssignmentController;
|
||||||
use App\Http\Controllers\Admin\AcademicClasses\AttendanceController;
|
use App\Http\Controllers\Admin\AcademicClasses\AttendanceController;
|
||||||
use App\Http\Controllers\Admin\AcademicClasses\CourseRegistrationController;
|
|
||||||
use App\Http\Controllers\Admin\AcademicClasses\MaterialController;
|
use App\Http\Controllers\Admin\AcademicClasses\MaterialController;
|
||||||
use App\Http\Controllers\Admin\AcademicClasses\ScheduleController;
|
use App\Http\Controllers\Admin\AcademicClasses\ScheduleController;
|
||||||
use App\Http\Controllers\Admin\AcademicClasses\SubmissionController;
|
use App\Http\Controllers\Admin\AcademicClasses\SubmissionController;
|
||||||
@ -12,6 +11,7 @@
|
|||||||
use App\Http\Controllers\Admin\Finances\TuitionPaymentController;
|
use App\Http\Controllers\Admin\Finances\TuitionPaymentController;
|
||||||
use App\Http\Controllers\Admin\Manage\ClassEnrollmentController;
|
use App\Http\Controllers\Admin\Manage\ClassEnrollmentController;
|
||||||
use App\Http\Controllers\Admin\Manage\CourseClassController;
|
use App\Http\Controllers\Admin\Manage\CourseClassController;
|
||||||
|
use App\Http\Controllers\Admin\Manage\CourseRegistrationController;
|
||||||
use App\Http\Controllers\Admin\Master\AcademicTermController;
|
use App\Http\Controllers\Admin\Master\AcademicTermController;
|
||||||
use App\Http\Controllers\Admin\Master\CourseController;
|
use App\Http\Controllers\Admin\Master\CourseController;
|
||||||
use App\Http\Controllers\Admin\Master\DepartmentController;
|
use App\Http\Controllers\Admin\Master\DepartmentController;
|
||||||
@ -33,8 +33,6 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
Route::prefix('admin/academic-classes')->name('admin.academic-classes.')->group(function () {
|
Route::prefix('admin/academic-classes')->name('admin.academic-classes.')->group(function () {
|
||||||
Route::resource('course-registrations', CourseRegistrationController::class)->except(['create', 'edit', 'show']);
|
|
||||||
|
|
||||||
Route::resource('materials', MaterialController::class)->except(['create', 'edit', 'show']);
|
Route::resource('materials', MaterialController::class)->except(['create', 'edit', 'show']);
|
||||||
|
|
||||||
Route::resource('assignments', AssignmentController::class)->except(['create', 'edit', 'show']);
|
Route::resource('assignments', AssignmentController::class)->except(['create', 'edit', 'show']);
|
||||||
@ -63,6 +61,8 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
Route::prefix('admin/manage')->name('admin.manage.')->group(function () {
|
Route::prefix('admin/manage')->name('admin.manage.')->group(function () {
|
||||||
|
Route::resource('course-registrations', CourseRegistrationController::class)->except(['create', 'edit', 'show']);
|
||||||
|
|
||||||
Route::resource('course-classes', CourseClassController::class)->except(['create', 'edit', 'show']);
|
Route::resource('course-classes', CourseClassController::class)->except(['create', 'edit', 'show']);
|
||||||
|
|
||||||
Route::prefix('course-classes/{course_class}/enrollments')->name('course-classes.enrollments.')->group(function () {
|
Route::prefix('course-classes/{course_class}/enrollments')->name('course-classes.enrollments.')->group(function () {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user