diff --git a/app/Http/Controllers/CourseController.php b/app/Http/Controllers/CourseController.php index 6d8109cd61b6c416af84c51caca9ab254b08f7fa..64c46942c95787bd1d29ccd66aa38fd850e47176 100644 --- a/app/Http/Controllers/CourseController.php +++ b/app/Http/Controllers/CourseController.php @@ -138,4 +138,45 @@ class CourseController extends Controller return redirect()->route('course', ['id_course' => $id_course, 'msg' => 4]); } + + /** + * Show grade + * + * @return grade + */ + public function grade($id_course) { + $enrolled_id = DB::table('user_course')->where('id_course', $id_course)->pluck('id_user'); + + $topics = DB::table('topics')->where('id_course', $id_course)->get(); + $name = []; + $ids = []; + $grades = []; + foreach($enrolled_id as $id) { + $user = DB::table('users')->where('id', $id)->first(); + + if ($user->role == 0) { + $name[] = $user->name; + $ids[] = $user->id; + + $usergrade = []; + foreach($topics as $topic) { + $grade = DB::table('grades')->where([ + ['id_course', '=' ,$id_course], + ['id_user', '=', $user->id], + ['id_topic', '=', $topic->id] + ])->first(); + + if (empty($grade)) { + $usergrade[] = '-'; + } else { + $usergrade[] = $grade->grade; + } + } + + $grades[] = $usergrade; + } + } + + return view('grade', ['topics' => $topics, 'names' => $name, 'grades' => $grades, 'id_course' => $id_course]); + } } diff --git a/resources/views/course.blade.php b/resources/views/course.blade.php index 0b6169e4132364de838abdad3ea64ff6d318e3ba..4c11870663acb7638522937a129a0046400d66c5 100644 --- a/resources/views/course.blade.php +++ b/resources/views/course.blade.php @@ -255,6 +255,8 @@ @foreach($students as $student) {{ $student }} <br/> @endforeach + <br/> + <a href="<?php echo $topic->id_course; ?>/grade" class="btn btn-primary" role="button">Lihat Nilai</a> </div> </div> </div> diff --git a/resources/views/grade.blade.php b/resources/views/grade.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..3617cc57cd2fe61a0f94f41a28e53be228a3c622 --- /dev/null +++ b/resources/views/grade.blade.php @@ -0,0 +1,37 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row justify-content"> + <div class="col-md-12"> + <div class="card"> + <div class="card-header"><b>Hasil Penilaian</b></div> + <div class="card-body"> + <table class="table table-hover"> + <thead> + <tr> + <th scope="col">Nama</th> + @foreach($topics as $topic) + <th scope="col">Materi {{ $topic->name }}</th> + @endforeach + </tr> + </thead> + <tbody> + @foreach($names as $index => $name) + <tr> + <td>{{ $name }}</td> + @foreach($grades[$index] as $grade) + <td>{{ $grade }}</td> + @endforeach + </tr> + @endforeach + </tbody> + </table> + </div> + </div> + <br/> + <a href="/course/<?php echo $id_course; ?>" class="btn btn-primary" id="back" role="button">Kembali ke Kelas</a> + </div> + </div> +</div> +@endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 3d26056a7b5704c45f7718ec0ee467d2a4a70e71..96da8347b5007fe1e3778d912b77c8316ad8ba9b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -22,6 +22,7 @@ Route::post('/course/new', 'CourseController@new')->name('course/new'); Route::post('/course/enroll', 'CourseController@enroll')->name('course/enroll'); Route::post('/course/{id_course}/delete', 'CourseController@delete')->name('course/delete'); Route::post('/course/{id_course}/edit', 'CourseController@edit')->name('course/edit'); +Route::get('/course/{id_course}/grade', 'CourseController@grade')->name('course/grade'); Route::post('/course/{id_course}/learn/new', 'LearnController@new')->name('learn/new'); Route::get('/course/{id_course}/learn/{id_topic}', 'LearnController@index')->name('learn'); Route::get('/course/{id_course}/learn/{id_topic}/edit', 'LearnController@edit')->name('edit');