diff --git a/app/Http/Controllers/CourseController.php b/app/Http/Controllers/CourseController.php index 8fb97754bda9debce48439e3a1f56b11f6fa7621..26c631b894b834dd74f8531fa0677bd3233eb84f 100644 --- a/app/Http/Controllers/CourseController.php +++ b/app/Http/Controllers/CourseController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Auth; +use LearnController; class CourseController extends Controller { @@ -25,6 +26,7 @@ class CourseController extends Controller */ public function index($id_course) { + $course = DB::table('courses')->where('id', $id_course)->first(); $topics = DB::table('topics')->where('id_course', $id_course)->get(); $enrolled_id = DB::table('user_course')->where('id_course', $id_course)->pluck('id_user'); @@ -53,7 +55,7 @@ class CourseController extends Controller } } - return view('course', ['scores' => $scores, 'topics' => $topics, 'students' => $students, 'teacher' => $teacher]); + return view('course', ['course' => $course, 'scores' => $scores, 'topics' => $topics, 'students' => $students, 'teacher' => $teacher]); } /** @@ -75,6 +77,27 @@ class CourseController extends Controller return redirect()->route('home', ['msg' => 2]); } + /** + * delete course + * + * @return msg + */ + public function delete($id_course) + { + $enrolled_id = DB::table('user_course')->where('id_course', $id_course)->pluck('id_user'); + $topics = DB::table('courses')->where('id', $id_course)->get(); + foreach($topics as $topic) { + DB::table('spreadsheets')->where('id', $topic->id)->delete(); + DB::table('grades')->where('id_topic', $topic->id)->delete(); + DB::table('topics')->where('id', $topic->id)->delete(); + } + + DB::table('user_course')->where('id_course', $id_course)->delete(); + DB::table('courses')->where('id', $id_course)->delete(); + + return redirect()->route('home', ['msg' => 4]); + } + /** * Create new course * diff --git a/resources/views/course.blade.php b/resources/views/course.blade.php index df429057ea3330cb33c624cea9ec804361f3775d..b98b2652fea1af39ee4b108b8d2d57b218c44478 100644 --- a/resources/views/course.blade.php +++ b/resources/views/course.blade.php @@ -36,11 +36,11 @@ <div class="row justify-content"> <div class="col-md-8"> <div class="card"> - <div class="card-header"><b>Topik Materi</b></div> + <div class="card-header"><b>Kelas {{ $course->name }}</b></div> + @if( count($topics) == 0 ) + <div class="card-body">Tidak ada Materi</div> + @endif <div class="accordion-group" id="accordionTopics"> - @if( count($topics) == 0 ) - Tidak ada Materi - @endif @foreach($topics as $index => $topic) <div class="card"> <div class="card-header" id="heading<?php echo $topic->id; ?>"> @@ -54,9 +54,7 @@ <div class="card-body"> {{ $topic->description }} <br/><br/> @if(Auth::user()->role == 1) - <button type="button" class="btn btn-danger" data-toggle="modal" data-target="#deleteModal{{ $topic->id }}"> - Hapus Materi - </button> + <button type="button" class="btn btn-danger" data-toggle="modal" data-target="#deleteModal{{ $topic->id }}">Hapus</button> <a href="<?php echo $topic->id_course; ?>/learn/<?php echo $topic->id; ?>/edit" class="btn btn-primary" role="button">Edit Materi</a> <div class="modal fade" id="deleteModal{{ $topic->id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> @@ -89,6 +87,29 @@ </div> @if(Auth::user()->role == 1) <br/> + <button type="button" class="btn btn-danger" data-toggle="modal" data-target="#deleteCourse"> + Hapus Kelas + </button> + <div class="modal fade" id="deleteCourse" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> + <div class="modal-dialog modal-dialog-centered" role="document"> + <div class="modal-content"> + <form action="{{ $course->id }}/delete" method="post"> + {{ csrf_field() }} + <div class="modal-header"> + <h5 class="modal-title" id="exampleModalCenterTitle">Hapus Kelas</h5> + <button type="button" class="close" data-dismiss="modal" aria-label="Close"> + <span aria-hidden="true">×</span> + </button> + </div> + <div class="modal-body">Apakah anda yakin menghapus kelas <b>{{ $course->name }}</b>?</div> + <div class="modal-footer"> + <button type="button" class="btn btn-secondary" data-dismiss="modal">Batal</button> + <button type="submit" class="btn btn-danger">Hapus Kelas</button> + </div> + </form> + </div> + </div> + </div> <button style="float: right;" type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter"> Tambah Materi </button> diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index b9e3bb1215b0d8d7db0bd19e186820ab82536e26..1cb3cad8c20e83cf0b1220550eb31a4672d7bb78 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -24,12 +24,19 @@ <span aria-hidden="true">×</span> </button> </div> + @elseif( request()->get('msg') == 4 ) + <div class="alert alert-success alert-dismissible fade show" role="alert"> + Kelas Berhasil Dihapus + <button type="button" class="close" data-dismiss="alert" aria-label="Close"> + <span aria-hidden="true">×</span> + </button> + </div> @endif @endisset <div class="row justify-content"> <div class="col-md-8"> <div class="card"> - <div class="card-header">Kelasku</div> + <div class="card-header"><b>Kelasku</b></div> <div class="card-columns card-body"> @if( count($enrolled) == 0 ) Tidak ada kelas yang diikuti @@ -81,7 +88,7 @@ </div> <div class="col-md-4"> <div class="card"> - <div class="card-header">Profil</div> + <div class="card-header"><b>Profil</b></div> <div class="card-body profile"> <img src="img/profile.jpg" style="width:120px;height:120px;" alt="No Picture"> <br/> <br/> <a id="profile-name">{{ $profile->name }}</a> <br/> @@ -123,7 +130,7 @@ <div class="py-4 row justify-content-center"> <div class="col-md-12"> <div class="card"> - <div class="card-header">Kelas Tersedia</div> + <div class="card-header"><b>Kelas Tersedia</b></div> <div class="card-body"> <div class="accordion" id="accordionCourses"> @foreach($courses as $index => $course) diff --git a/routes/web.php b/routes/web.php index fc0eaef655b24979e6c5b3c5c7e60dd575456826..c5b30a4301bd66621f81579b37431b5f9106e443 100644 --- a/routes/web.php +++ b/routes/web.php @@ -18,6 +18,7 @@ Route::post('/profile', 'HomeController@profile')->name('profile'); Route::get('/course/{id_course}', 'CourseController@index')->name('course'); 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}/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');