siakad-itm/database/seeders/CourseRegistrationSeeder.php
Yoga Pangestu 8336504032
Some checks failed
tests / ci (pull_request) Has been cancelled
feat: add course registration management for admin and student
- Implemented CourseRegistrationShow component for admin to view registration details.
- Added course registration creation and listing for students.
- Enhanced student registration edit and create forms with improved error handling.
- Introduced new columns for course registration submissions in student view.
- Updated routes for course registration management in admin and student contexts.
- Added logging and status handling for course registration submissions.
- Improved type definitions for course registration and user roles.
2026-08-30 20:50:27 +07:00

82 lines
2.7 KiB
PHP

<?php
namespace Database\Seeders;
use App\Enums\RegistrationStatus;
use App\Models\CourseRegistration;
use App\Models\CourseRegistrationSubmission;
use App\Models\CourseRegistrationSubmissionLog;
use Illuminate\Database\Seeder;
class CourseRegistrationSeeder extends Seeder
{
public function run(): void
{
$approved = CourseRegistrationSubmission::create([
'student_id' => 1,
'academic_term_id' => 2,
'status' => RegistrationStatus::Approved,
'signed_at' => '2026-01-20 08:00:00',
'reviewed_by' => 1,
'reviewed_at' => '2026-01-20 13:00:00',
'created_at' => '2026-01-20 08:00:00',
'updated_at' => '2026-01-20 13:00:00',
]);
CourseRegistration::create([
'student_id' => 1,
'academic_term_id' => 2,
'course_class_id' => 1,
'submission_id' => $approved->id,
'created_at' => '2026-01-20 08:00:00',
'updated_at' => '2026-01-20 08:00:00',
]);
CourseRegistrationSubmissionLog::insert([
[
'submission_id' => $approved->id,
'status' => RegistrationStatus::Submitted->value,
'reason' => null,
'actor_id' => 1,
'created_at' => '2026-01-20 08:00:00',
'updated_at' => '2026-01-20 08:00:00',
],
[
'submission_id' => $approved->id,
'status' => RegistrationStatus::Approved->value,
'reason' => null,
'actor_id' => 1,
'created_at' => '2026-01-20 13:00:00',
'updated_at' => '2026-01-20 13:00:00',
],
]);
$submitted = CourseRegistrationSubmission::create([
'student_id' => 2,
'academic_term_id' => 2,
'status' => RegistrationStatus::Submitted,
'signed_at' => '2026-01-20 08:10:00',
'created_at' => '2026-01-20 08:10:00',
'updated_at' => '2026-01-20 08:10:00',
]);
CourseRegistration::create([
'student_id' => 2,
'academic_term_id' => 2,
'course_class_id' => 2,
'submission_id' => $submitted->id,
'created_at' => '2026-01-20 08:10:00',
'updated_at' => '2026-01-20 08:10:00',
]);
CourseRegistrationSubmissionLog::create([
'submission_id' => $submitted->id,
'status' => RegistrationStatus::Submitted->value,
'reason' => null,
'actor_id' => 2,
'created_at' => '2026-01-20 08:10:00',
'updated_at' => '2026-01-20 08:10:00',
]);
}
}