From e21f9adf4b2ae49bf809e76d828234bd5d825d63 Mon Sep 17 00:00:00 2001 From: Kurniandha Sukma Yunastrian <13516106@std.stei.itb.ac.id> Date: Tue, 7 Apr 2020 19:34:45 +0700 Subject: [PATCH] add course page --- app/Http/Controllers/CourseController.php | 44 ++++++++++++++++++ app/Http/Controllers/LearnControllerr.php | 10 +++++ database/seeds/DatabaseSeeder.php | 1 + resources/views/course.blade.php | 55 +++++++++++++++++++++++ resources/views/home.blade.php | 12 +---- resources/views/layouts/app.blade.php | 2 +- routes/web.php | 7 ++- 7 files changed, 116 insertions(+), 15 deletions(-) create mode 100644 app/Http/Controllers/CourseController.php create mode 100644 app/Http/Controllers/LearnControllerr.php create mode 100644 resources/views/course.blade.php diff --git a/app/Http/Controllers/CourseController.php b/app/Http/Controllers/CourseController.php new file mode 100644 index 0000000..395046a --- /dev/null +++ b/app/Http/Controllers/CourseController.php @@ -0,0 +1,44 @@ +<?php + +namespace App\Http\Controllers; + +use Illuminate\Http\Request; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Auth; + +class CourseController extends Controller +{ + /** + * Create a new controller instance. + * + * @return void + */ + public function __construct() + { + $this->middleware('auth'); + } + + /** + * Show the application dashboard. + * + * @return \Illuminate\Contracts\Support\Renderable + */ + public function index($id_course) + { + $topics = DB::table('topics')->where('id_course', $id_course)->get(); + $enrolled_id = DB::table('user_course')->where('id_course', $id_course)->pluck('id_user'); + + $students = []; + $teacher = ''; + foreach($enrolled_id as $id) { + $temp = DB::table('users')->where('id', $id)->first(); + if ($temp->role == 1) { + $teacher = $temp->name; + } else { + $students[] = $temp->name; + } + } + + return view('course', ['topics' => $topics, 'students' => $students, 'teacher' => $teacher]); + } +} diff --git a/app/Http/Controllers/LearnControllerr.php b/app/Http/Controllers/LearnControllerr.php new file mode 100644 index 0000000..0468937 --- /dev/null +++ b/app/Http/Controllers/LearnControllerr.php @@ -0,0 +1,10 @@ +<?php + +namespace App\Http\Controllers; + +use Illuminate\Http\Request; + +class LearnControllerr extends Controller +{ + // +} diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 574d439..c2e1525 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -15,5 +15,6 @@ class DatabaseSeeder extends Seeder $this->call(CoursesTableSeeder::class); $this->call(TopicsTableSeeder::class); $this->call(SpreadsheetsTableSeeder::class); + $this->call(User_CourseTableSeeder::Class); } } diff --git a/resources/views/course.blade.php b/resources/views/course.blade.php new file mode 100644 index 0000000..d0c012a --- /dev/null +++ b/resources/views/course.blade.php @@ -0,0 +1,55 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row justify-content"> + <div class="col-md-8"> + <div class="card"> + <div class="card-header">Topik Materi</div> + <div class="card-body"> + <div class="accordion-group" id="accordionTopics"> + @foreach($topics as $index => $topic) + <div class="card"> + <div class="card-header" id="heading<?php echo $topic->id; ?>"> + <h6 class="mb-0"> + <a data-toggle="collapse" aria-expanded="false" aria-controls="collapse<?php echo $topic->id; ?>"> + <b>Topik {{ $index + 1 }}: {{ $topic->name }}</b> + </a> + </h6> + </div> + <div id="collapse<?php echo $topic->id; ?>" class="collapse show" aria-labelledby="heading<?php echo $topic->id; ?>" data-parent="#accordionTopics"> + <div class="card-body"> + {{ $topic->content }} <br/> <br/> + <a href="<?php echo $topic->id_course; ?>/learn/<?php echo $topic->id_spreadsheet; ?>" class="btn btn-primary" role="button">Buka Topik</a> + </div> + </div> + </div> + @endforeach + </div> <br/> + <a href="<?php echo $topic->id_course; ?>/learn/new" class="btn btn-primary" role="button">Tambah Topik</a> + </div> + </div> + </div> + <div class="col-md-4"> + <div class="card"> + <div class="card-header">Progress</div> + <div class="card-body"> + @foreach($topics as $index => $topic) + Topik {{ $index + 1 }}: 100/100 <br/> + @endforeach + </div> + </div> + <br/> + <div class="card"> + <div class="card-header">Peserta Kelas</div> + <div class="card-body"> + {{ $teacher }} (Pengajar) <br/> + @foreach($students as $student) + {{ $student }} <br/> + @endforeach + </div> + </div> + </div> + </div> +</div> +@endsection \ No newline at end of file diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index b24b2c9..f231136 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -11,7 +11,7 @@ <div class="card course" style="width: 14rem"> <img src="img/course1.png" class="card-img-top" alt="No Picture"> <div class="card-header">{{ $enroll->name }}</div> - <a href="/class/<?php echo $enroll->id; ?>" class="stretched-link"></a> + <a href="/course/<?php echo $enroll->id; ?>" class="stretched-link"></a> </div> @endforeach </div> @@ -61,12 +61,4 @@ </div> </div> </div> -@endsection - -<style> - courses { - display: block; - width: 100%; - height: 100%; - } -</style> \ No newline at end of file +@endsection \ No newline at end of file diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index e47b1bc..a61dcf6 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -24,7 +24,7 @@ <div id="app"> <nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm"> <div class="container"> - <a class="navbar-brand" href="{{ url('/') }}"> + <a class="navbar-brand" href="{{ url('/home') }}"> {{ config('app.name', 'Laravel') }} </a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}"> diff --git a/routes/web.php b/routes/web.php index 98ecf89..e81dddc 100644 --- a/routes/web.php +++ b/routes/web.php @@ -19,7 +19,6 @@ Route::get('/test', function () { }); Auth::routes(); -// Route::get('/home', function () { -// return view('home'); -// }); -Route::get('/home', 'HomeController@index')->name('home'); \ No newline at end of file +Route::get('/home', 'HomeController@index')->name('home'); +Route::get('/course/{id_course}', 'CourseController@index')->name('course'); +Route::get('/course/{id_course}/learn/{id_spreadsheet}', 'LearnController@index')->name('learn'); \ No newline at end of file -- GitLab