python
This commit is contained in:
parent
c2f158e43c
commit
dc86674841
|
|
@ -21,7 +21,7 @@ class DownloadController extends Controller
|
|||
}
|
||||
|
||||
public function downFile($file_name, $topic_name, $doctype, $folder) {
|
||||
$dirname = str_replace('\\',DIRECTORY_SEPARATOR,'app\public\\'.$folder.'\\');
|
||||
$dirname = str_replace('\\',DIRECTORY_SEPARATOR,'app\\public\\'.$folder.'\\');
|
||||
$file_path = storage_path($dirname.$file_name);
|
||||
$ext = pathinfo($file_path, PATHINFO_EXTENSION);
|
||||
$headers = array('Content-Type' => 'application/zip','Content-Type' => 'application/pdf',
|
||||
|
|
@ -34,16 +34,6 @@ class DownloadController extends Controller
|
|||
|
||||
|
||||
public function downLearning($file_name, $topic_name, $doctype) {
|
||||
/*
|
||||
$dirname = str_replace('\\',DIRECTORY_SEPARATOR,'app\public\learning\\');
|
||||
$file_path = storage_path($dirname.$file_name);
|
||||
$ext = pathinfo($file_path, PATHINFO_EXTENSION);
|
||||
$headers = array('Content-Type' => 'application/zip','Content-Type' => 'application/pdf','Content-Type' => 'application/rar');
|
||||
|
||||
$fname=$topic_name.'-'.$doctype.'.'.$ext;
|
||||
$this->saveHistory($file_path,$topic_name,$doctype,$fname);
|
||||
return response()->download($file_path, $fname, $headers);
|
||||
*/
|
||||
return $this->downFile($file_name, $topic_name, $doctype,'learning');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -179,7 +179,7 @@ class ExerciseFilesController extends Controller
|
|||
//
|
||||
$entity = \App\ExerciseFiles::find($id);
|
||||
/*
|
||||
$dirpath = storage_path('app\public\\');
|
||||
$dirpath = storage_path('app\\public\\\');
|
||||
File::delete(getPath($dirpath.$entity['guide']));
|
||||
File::delete(getPath($dirpath.$entity['supplement']));
|
||||
File::delete(getPath($dirpath.$entity['testfiles']));
|
||||
|
|
|
|||
|
|
@ -78,10 +78,7 @@ class FileResultController extends Controller
|
|||
//
|
||||
$entity = \App\FileResult::find($id);
|
||||
|
||||
$path = storage_path('app\\public\\').$entity['rscfile'];
|
||||
//$path = str_replace('\\',DIRECTORY_SEPARATOR,$path);
|
||||
|
||||
//$dirpath = storage_path('app\public\\');
|
||||
$path = storage_path('app/public/').$entity['rscfile'];
|
||||
File::delete(getPath($path));
|
||||
|
||||
$entity->delete();
|
||||
|
|
@ -98,7 +95,7 @@ class FileResultController extends Controller
|
|||
$path = storage_path('app\\public\\').$entity['rscfile'];
|
||||
//$path = str_replace('\\',DIRECTORY_SEPARATOR,$path);
|
||||
|
||||
//$dirpath = storage_path('app\public\\');
|
||||
//$dirpath = storage_path('app\\public\\\');
|
||||
File::delete($path);
|
||||
|
||||
$entity->delete();
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ class FlutterFileResultController extends Controller
|
|||
return Redirect::to('student/fluttercourse/lfiles/create/'.$request->get('topic'))
|
||||
->withErrors("File name should be ".$fileinfo['fileName']);
|
||||
} else {
|
||||
$result = \App\FileResult::where('userid','=',Auth::user()->id)
|
||||
$result = \App\FlutterFileResult::where('userid','=',Auth::user()->id)
|
||||
->where('fileid','=',$request->get('fileid'))
|
||||
->get();
|
||||
if (count($result)>0) {
|
||||
|
|
@ -57,7 +57,7 @@ class FlutterFileResultController extends Controller
|
|||
->withErrors('File '.$fileinfo['fileName'].' was already submitted');
|
||||
} else {
|
||||
$rsc=$file->store('resource','public');
|
||||
$entity=new \App\FileResult;
|
||||
$entity=new \App\FlutterFileResult;
|
||||
|
||||
$entity->userid=Auth::user()->id;
|
||||
$entity->fileid=$request->get('fileid');
|
||||
|
|
@ -76,12 +76,12 @@ class FlutterFileResultController extends Controller
|
|||
public function destroy(Request $request,$id)
|
||||
{
|
||||
//
|
||||
$entity = \App\FileResult::find($id);
|
||||
$entity = \App\FlutterFileResult::find($id);
|
||||
|
||||
$path = storage_path('app\\public\\').$entity['rscfile'];
|
||||
//$path = str_replace('\\',DIRECTORY_SEPARATOR,$path);
|
||||
|
||||
//$dirpath = storage_path('app\public\\');
|
||||
//$dirpath = storage_path('app\\public\\\');
|
||||
File::delete(getPath($path));
|
||||
|
||||
$entity->delete();
|
||||
|
|
@ -93,12 +93,12 @@ class FlutterFileResultController extends Controller
|
|||
public function delete($id,$topic)
|
||||
{
|
||||
//
|
||||
$entity = \App\FileResult::find($id);
|
||||
$entity = \App\FlutterFileResult::find($id);
|
||||
|
||||
$path = storage_path('app\\public\\').$entity['rscfile'];
|
||||
//$path = str_replace('\\',DIRECTORY_SEPARATOR,$path);
|
||||
|
||||
//$dirpath = storage_path('app\public\\');
|
||||
//$dirpath = storage_path('app\\public\\\');
|
||||
File::delete($path);
|
||||
|
||||
$entity->delete();
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ class LearningFileController extends Controller {
|
|||
//
|
||||
$entity = \App\LearningFile::find($id);
|
||||
/*
|
||||
$dirpath = storage_path('app\public\\');
|
||||
$dirpath = storage_path('app\\public\\\');
|
||||
File::delete(getPath($dirpath.$entity['guide']));
|
||||
File::delete(getPath($dirpath.$entity['supplement']));
|
||||
File::delete(getPath($dirpath.$entity['testfiles']));
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ class NodejsFileResultController extends Controller
|
|||
return Redirect::to('student/nodejscourse/lfiles/create/'.$request->get('topic'))
|
||||
->withErrors("File name should be ".$fileinfo['fileName']);
|
||||
} else {
|
||||
$result = \App\FileResult::where('userid','=',Auth::user()->id)
|
||||
$result = \App\NodejsFileResult::where('userid','=',Auth::user()->id)
|
||||
->where('fileid','=',$request->get('fileid'))
|
||||
->get();
|
||||
if (count($result)>0) {
|
||||
|
|
@ -57,7 +57,7 @@ class NodejsFileResultController extends Controller
|
|||
->withErrors('File '.$fileinfo['fileName'].' was already submitted');
|
||||
} else {
|
||||
$rsc=$file->store('resource','public');
|
||||
$entity=new \App\FileResult;
|
||||
$entity=new \App\NodejsFileResult;
|
||||
|
||||
$entity->userid=Auth::user()->id;
|
||||
$entity->fileid=$request->get('fileid');
|
||||
|
|
@ -76,12 +76,12 @@ class NodejsFileResultController extends Controller
|
|||
public function destroy(Request $request,$id)
|
||||
{
|
||||
//
|
||||
$entity = \App\FileResult::find($id);
|
||||
$entity = \App\NodejsFileResult::find($id);
|
||||
|
||||
$path = storage_path('app\\public\\').$entity['rscfile'];
|
||||
//$path = str_replace('\\',DIRECTORY_SEPARATOR,$path);
|
||||
|
||||
//$dirpath = storage_path('app\public\\');
|
||||
//$dirpath = storage_path('app\\public\\\');
|
||||
File::delete(getPath($path));
|
||||
|
||||
$entity->delete();
|
||||
|
|
@ -93,12 +93,12 @@ class NodejsFileResultController extends Controller
|
|||
public function delete($id,$topic)
|
||||
{
|
||||
//
|
||||
$entity = \App\FileResult::find($id);
|
||||
$entity = \App\NodejsFileResult::find($id);
|
||||
|
||||
$path = storage_path('app\\public\\').$entity['rscfile'];
|
||||
//$path = str_replace('\\',DIRECTORY_SEPARATOR,$path);
|
||||
|
||||
//$dirpath = storage_path('app\public\\');
|
||||
//$dirpath = storage_path('app\\public\\\');
|
||||
File::delete($path);
|
||||
|
||||
$entity->delete();
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ class UnityFileResultController extends Controller
|
|||
return Redirect::to('student/unitycourse/lfiles/create/'.$request->get('topic'))
|
||||
->withErrors("File name should be ".$fileinfo['fileName']);
|
||||
} else {
|
||||
$result = \App\FileResult::where('userid','=',Auth::user()->id)
|
||||
$result = \App\UnityFileResult::where('userid','=',Auth::user()->id)
|
||||
->where('fileid','=',$request->get('fileid'))
|
||||
->get();
|
||||
if (count($result)>0) {
|
||||
|
|
@ -57,7 +57,7 @@ class UnityFileResultController extends Controller
|
|||
->withErrors('File '.$fileinfo['fileName'].' was already submitted');
|
||||
} else {
|
||||
$rsc=$file->store('resource','public');
|
||||
$entity=new \App\FileResult;
|
||||
$entity=new \App\UnityFileResult;
|
||||
|
||||
$entity->userid=Auth::user()->id;
|
||||
$entity->fileid=$request->get('fileid');
|
||||
|
|
@ -76,12 +76,12 @@ class UnityFileResultController extends Controller
|
|||
public function destroy(Request $request,$id)
|
||||
{
|
||||
//
|
||||
$entity = \App\FileResult::find($id);
|
||||
$entity = \App\UnityFileResult::find($id);
|
||||
|
||||
$path = storage_path('app\\public\\').$entity['rscfile'];
|
||||
//$path = str_replace('\\',DIRECTORY_SEPARATOR,$path);
|
||||
|
||||
//$dirpath = storage_path('app\public\\');
|
||||
//$dirpath = storage_path('app\\public\\\');
|
||||
File::delete(getPath($path));
|
||||
|
||||
$entity->delete();
|
||||
|
|
@ -93,12 +93,12 @@ class UnityFileResultController extends Controller
|
|||
public function delete($id,$topic)
|
||||
{
|
||||
//
|
||||
$entity = \App\FileResult::find($id);
|
||||
$entity = \App\UnityFileResult::find($id);
|
||||
|
||||
$path = storage_path('app\\public\\').$entity['rscfile'];
|
||||
//$path = str_replace('\\',DIRECTORY_SEPARATOR,$path);
|
||||
|
||||
//$dirpath = storage_path('app\public\\');
|
||||
//$dirpath = storage_path('app\\public\\\');
|
||||
File::delete($path);
|
||||
|
||||
$entity->delete();
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ class UnityUser extends Authenticatable
|
|||
|
||||
public function checkRoleId($roleid) {
|
||||
if ($roleid=='student') {
|
||||
return Redirect::to('student/Unitycourse/home');
|
||||
return Redirect::to('student/unitycourse/home');
|
||||
} elseif ($roleid=='teacher') {
|
||||
return Redirect::to('teacher/home');
|
||||
} elseif ($roleid=='admin') {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<nav class="main-header navbar navbar-expand navbar-white navbar-light" style="background-color: coral;">
|
||||
<nav class="main-header navbar navbar-expand navbar-white navbar-light" style="background-color: red;">
|
||||
<!-- Left navbar links -->
|
||||
|
||||
<ul class="navbar-nav">
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
<aside class="main-sidebar sidebar-dark-primary elevation-4">
|
||||
<!-- Brand Logo -->
|
||||
<a href="{{URL::to('admin/main')}}" class="brand-link">
|
||||
<img src="{{asset('lte/dist/img/logo-aplas.png')}}" alt="APLAS logo" class="brand-image elevation-3"
|
||||
style="opacity: .8">
|
||||
<span class="brand-text font-weight-light">WebApps</span>
|
||||
<a href="#" class="brand-link">
|
||||
<img src="{{asset('lte/dist/img/iclop-logo.png')}}" alt="iCLOP logo" class="brand-image elevation-3"
|
||||
style="width:120px;height:60px;">
|
||||
<br>
|
||||
<span class="brand-text font-weight-light" style="font-size:140%;"> ADMIN</span>
|
||||
</a>
|
||||
|
||||
<!-- Sidebar -->
|
||||
|
|
@ -203,6 +204,24 @@
|
|||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{URL::to('/admin/python/topic')}}" class="nav-link">
|
||||
<i class="nav-icon fab fa-python"></i>
|
||||
<p>
|
||||
Python Learning
|
||||
<span class="right badge badge-danger">New</span>
|
||||
</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{URL::to('/admin/python/percobaan')}}" class="nav-link">
|
||||
<i class="nav-icon fab fa-python"></i>
|
||||
<p>
|
||||
Python Percobaan
|
||||
<span class="right badge badge-danger">New</span>
|
||||
</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{URL::to('admin/resetpassword')}}" class="nav-link">
|
||||
<i class="nav-icon fas fa-hand-pointer"></i>
|
||||
<p>
|
||||
|
|
|
|||
|
|
@ -624,7 +624,7 @@
|
|||
$.ajax({
|
||||
|
||||
type: "GET",
|
||||
url: "{{ url('student/python-history/'. $infotopik->id_topik.'/'. $percobaan->id_percobaan) }}",
|
||||
url: "{{ url('student/pythoncourse/python-history/'. $infotopik->id_topik.'/'. $percobaan->id_percobaan) }}",
|
||||
dataType: "json",
|
||||
success: function( result ) {
|
||||
|
||||
|
|
@ -746,7 +746,7 @@
|
|||
var variabelid_percobaan = $('input[name="id_percobaan"]').val();
|
||||
|
||||
$.ajax({
|
||||
url: "http://127.0.0.1:8000/student/python-compile",
|
||||
url: "http://127.0.0.1:8000/student/pythoncourse/python-compile",
|
||||
method: "GET", // GET | POST
|
||||
data: {
|
||||
code: editor.getSession().getValue(),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<nav class="main-header navbar navbar-expand navbar-white navbar-light" style="background-color: #D7BDE2;">
|
||||
<nav class="main-header navbar navbar-expand navbar-white navbar-light" style="background-color: red;">
|
||||
<!-- Left navbar links -->
|
||||
|
||||
<ul class="navbar-nav">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,104 @@
|
|||
@extends('teacher/home')
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Python Student Learning Result - Detail</h3>
|
||||
<div class="card-tools">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
{{-- <div class="row" style="margin-bottom: 30px">
|
||||
<div class="col-md-4" style="border-right: 2px solid #e0e0e0">
|
||||
<b>Dosen Pengajar Oleh</b>
|
||||
<h3>{{ $dosen->name }}</h3>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<b>Hasil Dari Pembelajaran Mahasiswa : </b>
|
||||
<h3>{{ $mhs }} Mahasiswa</h3>
|
||||
</div>
|
||||
</div> --}}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class="text-center">
|
||||
<th rowspan="2">
|
||||
<b><small>Topik</small></b><br>
|
||||
<b>{{ $topik->nama }}</b>
|
||||
</th>
|
||||
<th colspan="4">Pengumpulan Detail</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-center">Nama Mahasiswa</th>
|
||||
<th class="text-center">Status</th>
|
||||
<th class="text-center">Waktu</th>
|
||||
<th class="text-center">Opsi</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td rowspan="{{ count( $allPercobaan['validation'] ) + 1 }}">
|
||||
<small>Nama Percobaan</small>
|
||||
<h4>{{ $dt_percobaan->nama_percobaan }}</h4>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@foreach ( $allPercobaan['validation'] AS $nomor => $isi )
|
||||
<tr>
|
||||
<td>{{ $isi->name }}</td>
|
||||
<td>{{ $isi->status }}</td>
|
||||
<td>{{ date('d M Y H.i A', strtotime($isi->create_at)) }}</td>
|
||||
<td>
|
||||
|
||||
<a href="javascript:;" data-toggle="modal" data-target="#modal-{{ $nomor }}" class="btn btn-sm btn-primary">Submitted</a>
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="modal-{{ $nomor }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
|
||||
<b>Materi {{ $topik->nama }}</b>
|
||||
<h5 style="margin: 0px"><code>{{ $dt_percobaan->nama_percobaan }}</code></h5>
|
||||
<small>Pengerjaan pada {{ date('d F Y H.i A', strtotime($isi->create_at)) }}</small>
|
||||
<div class="card card-body" style="font-family: 'Courier New', Courier, monospace">
|
||||
{{ $isi->report }}
|
||||
|
||||
<hr>
|
||||
<b>Hasil Unit Test : </b><br>
|
||||
<?php echo $isi->checkresult ?>
|
||||
</div>
|
||||
<a href="{{ asset('python-resources/unittest/jawaban/'. $isi->file_submitted) }}.py" download>Unduh Source Code</a><br>
|
||||
<small>Klik untuk mengunduh file jawaban</small>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
116
resources/views/teacher/python/py_student_results.blade.php
Normal file
116
resources/views/teacher/python/py_student_results.blade.php
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
@extends('teacher/home')
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Python Student Learning Result</h3>
|
||||
<div class="card-tools">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
@if (Session::has('message'))
|
||||
<div id="alert-msg" class="alert alert-success alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true"><EFBFBD></button>
|
||||
{{ Session::get('message') }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="row" style="margin-bottom: 30px">
|
||||
<div class="col-md-4" style="border-right: 2px solid #e0e0e0">
|
||||
<b>Dosen Pengajar Oleh</b>
|
||||
<h3>{{ $dosen->name }}</h3>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<b>Total mahasiswa yang mengikuti kelas</b>
|
||||
<h3>{{ $mhs }} Mahasiswa</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class="text-center">
|
||||
<th>Topik</th>
|
||||
<th>Percobaan</th>
|
||||
<th>Terkumpul</th>
|
||||
<th>Status</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@foreach ( $allData AS $index => $isi )
|
||||
|
||||
@php
|
||||
|
||||
$rowspan = count( $isi['materi'] ) + 1;
|
||||
|
||||
@endphp
|
||||
<tr style="border-bottom: 2px solid #e0e0e0">
|
||||
<td rowspan="{{ $rowspan }}">
|
||||
<small>Nama Topik</small><br>
|
||||
<b>{{ $isi['topik']->nama }}</b>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@foreach ( $isi['materi'] AS $materi )
|
||||
<tr style="border-bottom: 2px solid #e0e0e0">
|
||||
<td>{{ $materi['percobaan']->nama_percobaan }}</td>
|
||||
<td>
|
||||
@php
|
||||
|
||||
if ( $materi['total'] > 0 ) {
|
||||
|
||||
echo $materi['total'].' mhs';
|
||||
} else {
|
||||
|
||||
echo '-';
|
||||
}
|
||||
|
||||
@endphp
|
||||
</td>
|
||||
<td>
|
||||
@php
|
||||
|
||||
$label = "";
|
||||
if ( count( $materi['validation'] ) == $mhs ) {
|
||||
|
||||
$label = '<label class="badge badge-info">Materi Selesai</label>';
|
||||
|
||||
} else if ( count( $materi['validation'] ) == 0 ) {
|
||||
|
||||
$label = '<label class="badge badge-secondary">Kosong</label>';
|
||||
} else if ( count( $materi['validation'] ) != $mhs ) {
|
||||
|
||||
$label = '<label class="badge badge-warning">Sebagian</label>';
|
||||
}
|
||||
|
||||
|
||||
// echo count( $materi['validation'] );
|
||||
echo $label;
|
||||
|
||||
@endphp
|
||||
</td>
|
||||
<td><a href="{{ url('teacher/python/resultstudentdetail/'. $isi['topik']->id_topik.'/'.$materi['percobaan']->id_percobaan) }}" class="btn btn-primary btn-sm"><i class="fa fa-book"></i> Detail</a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
<aside class="main-sidebar sidebar-dark-primary elevation-4">
|
||||
<!-- Brand Logo -->
|
||||
<a href="#" class="brand-link">
|
||||
<img src="{{asset('lte/dist/img/logo-aplas.png')}}" alt="APLAS logo" class="brand-image elevation-3"
|
||||
style="opacity: .8">
|
||||
<span class="brand-text font-weight-light">WebApps</span>
|
||||
<img src="{{asset('lte/dist/img/iclop-logo.png')}}" alt="iCLOP logo" class="brand-image elevation-3"
|
||||
style="width:120px;height:60px;">
|
||||
<br>
|
||||
<span class="brand-text font-weight-light" style="font-size:140%;"> TEACHER</span>
|
||||
</a>
|
||||
|
||||
<!-- Sidebar -->
|
||||
|
|
@ -47,6 +48,22 @@
|
|||
</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{URL::to('teacher/rankview')}}" class="nav-link">
|
||||
<i class="nav-icon fas fa-check"></i>
|
||||
<p>
|
||||
Top 20 Rank
|
||||
</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{URL::to('teacher/studentres')}}" class="nav-link">
|
||||
<i class="nav-icon fas fa-trophy"></i>
|
||||
<p>
|
||||
Student Result
|
||||
</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{URL::to('teacher/studentclasssummary')}}" class="nav-link">
|
||||
<i class="nav-icon fas fa-trophy"></i>
|
||||
|
|
@ -65,22 +82,6 @@
|
|||
</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{URL::to('teacher/studentres')}}" class="nav-link">
|
||||
<i class="nav-icon fas fa-trophy"></i>
|
||||
<p>
|
||||
Student Result
|
||||
</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{URL::to('teacher/rankview')}}" class="nav-link">
|
||||
<i class="nav-icon fas fa-check"></i>
|
||||
<p>
|
||||
Top 20 Rank
|
||||
</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{URL::to('teacher/completeness')}}" class="nav-link">
|
||||
<i class="nav-icon fas fa-hand-pointer"></i>
|
||||
|
|
@ -126,6 +127,16 @@
|
|||
</p>
|
||||
</a>
|
||||
</li>
|
||||
{{-- Python --}}
|
||||
<li class="nav-item">
|
||||
<a href="{{URL::to('teacher/python/resultstudent')}}" class="nav-link">
|
||||
<i class="nav-icon fas fa-trophy"></i>
|
||||
<p>
|
||||
Python Result
|
||||
<span class="right badge badge-danger">New</span>
|
||||
</p>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<!-- /.sidebar-menu -->
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ Route::group(['middleware' => ['auth', 'student']], function() {
|
|||
// tampilan feedback
|
||||
Route::get('/student/pythoncourse/python/feedback/{id_topik}/{id_percobaan}', [ExercisePythonController::class, 'feedback']);
|
||||
//Compile Program
|
||||
Route::get('/student/python-compile', [ExercisePythonController::class, 'compiler']);
|
||||
Route::get('/student/pythoncourse/python-compile', [ExercisePythonController::class, 'compiler']);
|
||||
//tampilan data validation
|
||||
Route::get('student/pythoncourse/python/tampil-data-validation', [ExercisePythonController::class, 'dataValidation']);
|
||||
//tampilan result mahasiswa
|
||||
|
|
@ -169,7 +169,7 @@ Route::group(['middleware' => ['auth', 'student']], function() {
|
|||
Route::get('pythonfeedback', [ExercisePythonController::class, 'feedback_submit']);
|
||||
|
||||
|
||||
Route::get("student/python-history/{id_topik}/{id_percobaan}", [ExercisePythonController::class, 'submit_history']);
|
||||
Route::get("student/pythoncourse/python-history/{id_topik}/{id_percobaan}", [ExercisePythonController::class, 'submit_history']);
|
||||
|
||||
Route::get('/student/androidcourse/asynctask', 'StudentController@asynctask');
|
||||
Route::get('/student/androidcourse/firebase', 'StudentController@firebase');
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user