diff --git a/app/Filament/Resources/Learning/ClassSessions/Actions/ShareAssignmentAction.php b/app/Filament/Resources/Learning/ClassSessions/Actions/ShareAssignmentAction.php index 5d02ca9..2783ccf 100644 --- a/app/Filament/Resources/Learning/ClassSessions/Actions/ShareAssignmentAction.php +++ b/app/Filament/Resources/Learning/ClassSessions/Actions/ShareAssignmentAction.php @@ -4,7 +4,6 @@ use App\Models\ClassSession; use Filament\Actions\Action; -use Illuminate\Support\Str; class ShareAssignmentAction extends Action { @@ -23,14 +22,11 @@ protected function setUp(): void ->link() ->action(function (array $arguments, $livewire) { $course = $livewire->course; - if (empty($course->sharing_token)) { - $course->update(['sharing_token' => Str::random(32)]); - } $session = ClassSession::find($arguments['session'] ?? null); $url = route('share.assignment', [ - 'token' => $course->sharing_token, + 'course' => $course->id, 'session_id' => $session ? $session->id : null, ]); diff --git a/app/Filament/Resources/Learning/ClassSessions/Actions/ShareAttendanceAction.php b/app/Filament/Resources/Learning/ClassSessions/Actions/ShareAttendanceAction.php index 360a071..cab6e72 100644 --- a/app/Filament/Resources/Learning/ClassSessions/Actions/ShareAttendanceAction.php +++ b/app/Filament/Resources/Learning/ClassSessions/Actions/ShareAttendanceAction.php @@ -4,7 +4,6 @@ use App\Models\ClassSession; use Filament\Actions\Action; -use Illuminate\Support\Str; class ShareAttendanceAction extends Action { @@ -23,14 +22,11 @@ protected function setUp(): void ->link() ->action(function (array $arguments, $livewire) { $course = $livewire->course; - if (empty($course->sharing_token)) { - $course->update(['sharing_token' => Str::random(32)]); - } $session = ClassSession::find($arguments['session'] ?? null); $date = $session ? $session->date->toDateString() : null; - $url = route('share.attendance', ['token' => $course->sharing_token, 'date' => $date]); + $url = route('share.attendance', ['course' => $course->id, 'date' => $date]); $text = "*Info Kelas {$course->name}*\nSesi ke-".($session->session_number ?? '-').' ('.($session->date->translatedFormat('d M Y') ?? '').")\n\nSilakan cek detail/rekap kehadiran melalui tautan ini:\n\n{$url}"; diff --git a/app/Http/Controllers/ShareAssignmentController.php b/app/Http/Controllers/ShareAssignmentController.php index 63331d8..e3de406 100644 --- a/app/Http/Controllers/ShareAssignmentController.php +++ b/app/Http/Controllers/ShareAssignmentController.php @@ -12,9 +12,8 @@ class ShareAssignmentController extends Controller { - public function show(Request $request, string $token): View + public function show(Request $request, Course $course): View { - $course = Course::where('sharing_token', $token)->firstOrFail(); // Retrieve available assignments for the dropdown (from the whole course) $availableAssignments = Assignment::where('course_id', $course->id) diff --git a/app/Http/Controllers/ShareAttendanceController.php b/app/Http/Controllers/ShareAttendanceController.php index 8653970..ba13dde 100644 --- a/app/Http/Controllers/ShareAttendanceController.php +++ b/app/Http/Controllers/ShareAttendanceController.php @@ -13,9 +13,8 @@ class ShareAttendanceController extends Controller { - public function show(Request $request, string $token): View + public function show(Request $request, Course $course): View { - $course = Course::where('sharing_token', $token)->firstOrFail(); $latestAttendance = Attendance::whereHas('courseSchedule', function ($query) use ($course) { $query->where('course_id', $course->id); diff --git a/app/Models/Course.php b/app/Models/Course.php index eb9492f..0f77e40 100644 --- a/app/Models/Course.php +++ b/app/Models/Course.php @@ -14,13 +14,6 @@ class Course extends Model protected $guarded = ['id']; - protected static function booted() - { - static::creating(function ($course) { - $course->sharing_token = \Illuminate\Support\Str::random(32); - }); - } - public function assignments(): HasMany { return $this->hasMany(Assignment::class); diff --git a/database/migrations/2026_03_12_114022_add_sharing_token_to_courses_table.php b/database/migrations/2026_03_12_114022_add_sharing_token_to_courses_table.php deleted file mode 100644 index 02b83cd..0000000 --- a/database/migrations/2026_03_12_114022_add_sharing_token_to_courses_table.php +++ /dev/null @@ -1,35 +0,0 @@ -string('sharing_token', 64)->nullable()->unique()->after('semester'); - }); - - // Populate existing courses with a random token - Course::all()->each(function ($course) { - $course->update(['sharing_token' => Str::random(32)]); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::table('courses', function (Blueprint $table) { - $table->dropColumn('sharing_token'); - }); - } -}; diff --git a/routes/web.php b/routes/web.php index 5247a16..86354d3 100644 --- a/routes/web.php +++ b/routes/web.php @@ -8,5 +8,5 @@ return view('welcome'); }); -Route::get('/share/presensi/{token}', [ShareAttendanceController::class, 'show'])->name('share.attendance'); -Route::get('/share/tugas/{token}', [ShareAssignmentController::class, 'show'])->name('share.assignment'); +Route::get('/share/presensi/{course}', [ShareAttendanceController::class, 'show'])->name('share.attendance'); +Route::get('/share/tugas/{course}', [ShareAssignmentController::class, 'show'])->name('share.assignment');