diff --git a/app/Dosen.php b/app/Dosen.php index 7e05ad1fc18b084d4f3a2081fcaa37c5d1b494b7..b1328f8fd61a1c5cf34254354c7a96f0fab51585 100644 --- a/app/Dosen.php +++ b/app/Dosen.php @@ -8,13 +8,14 @@ class Dosen extends Model { const STATUS_PENGUJI_2 = 1; const STATUS_PENGUJI_1 = 2; - const STATUS_PEMBIMBING = 3; + const STATUS_PEMBIMBING_2 = 3; + const STATUS_PEMBIMBING_1 = 4; protected $fillable= ['id']; public static function getListDosenPembimbing1() { - return Dosen::where('status','>=','0')->get(); + return Dosen::where('status','>=',Dosen::STATUS_PEMBIMBING_1)->get(); } public static function getListDosenPembimbing2() { - return Dosen::where('status','>=','0')->get(); + return Dosen::where('status','>=',Dosen::STATUS_PEMBIMBING_2)->get(); } public function user() { return $this->belongsTo('\App\User','id','id'); @@ -30,4 +31,20 @@ class Dosen extends Model $hsl_bimbingan = HasilBimbingan::where('dosen_id',$this->id)->orderBy('status','asc')->orderBy('tanggal_waktu','desc')->get(); return $hsl_bimbingan; } + + public static function getListDosenPenguji() { + return Dosen::where('status', '>=',Dosen::STATUS_PENGUJI_2)->get(); + } + + public function upcomingSidangAsPenguji1() { + return $this->hasMany('App\SidangTesis','dosen_penguji_1','id'); + } + + public function upcomingSidangAsPenguji2() { + return $this->hasMany('App\SidangTesis','dosen_penguji_2','id'); + } + + public function sidangTesisNeedApproval() { + return SidangTesis::where('ajuan_penguji1', $this->id)->orWhere('ajuan_penguji2',$this->id)->orWhere('ajuan_penguji3',$this->id)->get(); + } } diff --git a/app/Http/Controllers/DosenController.php b/app/Http/Controllers/DosenController.php index d2ca8042706d8b5c002b84e00b5cc3e561989cec..2865e9a517913d9a3a75a83cd23c88188b1d3056 100644 --- a/app/Http/Controllers/DosenController.php +++ b/app/Http/Controllers/DosenController.php @@ -4,7 +4,10 @@ namespace App\Http\Controllers; use App\Mahasiswa; use App\User; +use App\Dosen; use App\Thesis; +use App\SeminarTesis; + use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -25,7 +28,11 @@ class DosenController extends Controller { if(Auth::user()->isDosen()) { - return view('dosen.index'); + $iddosen = Auth::user()->id; + $idmahasiswabimbingan = Thesis::where('dosen_pembimbing1', $iddosen)->orWhere('dosen_pembimbing2', $iddosen)->pluck('mahasiswa_id'); + $mahasiswabimbingan = Mahasiswa::whereIn('id',$idmahasiswabimbingan)->get(); + + return view('dosen.index', ['mahasiswabimbingan' => $mahasiswabimbingan]); } else { return abort(403); } @@ -77,9 +84,16 @@ class DosenController extends Controller * @param \App\Mahasiswa $mahasiswa * @return \Illuminate\Http\Response */ - public function edit(Mahasiswa $mahasiswa) + public function edit(Request $request, $id) { - // + if(Auth::user()->isManajer()) { + $usr = Dosen::find($id); + $usr->status = $request->get('status'); + $usr->save(); + return back(); + } else { + return abort(403); + } } /** @@ -131,7 +145,7 @@ class DosenController extends Controller $mhs = $user->isMahasiswa(); if(!$mhs) return abort(400); if($mhs->tesis() && ($mhs->tesis()->dosen_pembimbing1 == $dosen->id || $mhs->tesis()->dosen_pembimbing2 == $dosen->id)) { - return view('dosen.detail_mahasiswa',['mahasiswa'=>$mhs, 'user'=>$user]); + return view('dosen.detail_mahasiswa',['mahasiswa'=>$mhs, 'user'=>$user, 'dosen'=>$dosen]); } else { return abort(403); } diff --git a/app/Http/Controllers/HasilBimbinganController.php b/app/Http/Controllers/HasilBimbinganController.php index 61833552f2776313e571cc94be77bef0deb56f75..cc8713db1f3456297eaf7b6c48b66c87dc41943d 100644 --- a/app/Http/Controllers/HasilBimbinganController.php +++ b/app/Http/Controllers/HasilBimbinganController.php @@ -73,9 +73,9 @@ class HasilBimbinganController extends Controller $data = $request->all(); if($data['id'] < 0){ - $user = Auth::user(); + $id = -1 * $data['id']; - DB::table('hasil_bimbingans')->where('mahasiswa_id',$user->id)->where('id', $id)->delete(); + DB::table('hasil_bimbingans')->where('thesis_id',$mahasiswa->tesis()->id)->where('id', $id)->delete(); return redirect('/hasilbimbingan/mahasiswa'); }else{ Session::put('edit_id', $data['id']); @@ -108,7 +108,7 @@ class HasilBimbinganController extends Controller $cur->topik = $data['topik']; $cur->hasil_dan_diskusi = $data['hasil_dan_diskusi']; $cur->rencana_tindak_lanjut = $data['rencana_tindak_lanjut']; - if($item_count > 7){ + if($item_count > 8){ $cur->dosen_id2 = $data['dosen_id2']; } $cur->waktu_bimbingan_selanjutnya = $data['waktu_bimbingan_selanjutnya']; @@ -141,7 +141,7 @@ class HasilBimbinganController extends Controller } else { $ok_count++; $dosen2 = null; - if($item_count > 7){ + if($item_count > 8){ $dosen2 = $data['dosen_id2']; } $hasil_bimbingan = HasilBimbingan::create([ diff --git a/app/Http/Controllers/PenjadwalanController.php b/app/Http/Controllers/PenjadwalanController.php new file mode 100644 index 0000000000000000000000000000000000000000..d16ff3456984ebb586b5804895e601fa3db0f70e --- /dev/null +++ b/app/Http/Controllers/PenjadwalanController.php @@ -0,0 +1,134 @@ +<?php +/** + * Created by PhpStorm. + * User: ROG + * Date: 4/21/2018 + * Time: 1:59 PM + */ + +namespace App\Http\Controllers; + + +use App\Mahasiswa; +use App\Proposal; +use App\SeminarProposal; +use App\SeminarTesis; +use App\SeminarTopik; +use App\SidangTesis; +use App\Topic; +use App\TopicApproval; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; + +class PenjadwalanController extends Controller +{ + public function showPenjadwalanPage(){ + $manajer = Auth::user()->isManajer(); + if($manajer) { + $seminar_topik = SeminarTopik::get(); + $topik = TopicApproval::where('action',1)->whereNotIn('topic_id', function($q){ + $q->select('topik_id')->from('seminar_topiks'); + })->get(); + + $proposal = Proposal::where('status',1)->whereNotIn('id', function($q){ + $q->select('proposal_id')->from('seminar_proposals'); + })->get(); +// $proposal = Proposal::where('status',0)->whereNotIn('id', function($q){ +// $q->select('proposal_id')->from('seminar_proposals'); +// })->get(); + + //error_log(count($proposal)); + $seminar_proposal = SeminarProposal::get(); + $seminar_tesis = SeminarTesis::get(); + $sidang_tesis = SidangTesis::get(); + + return view('manajer.penjadwalan',['topik' => $topik, + 'proposal' => $proposal, + 'seminar_topik' => $seminar_topik, + 'seminar_proposal' => $seminar_proposal, + 'seminar_tesis' => $seminar_tesis, + 'sidang_tesis' => $sidang_tesis]); + } else { + return abort(403); + } + } + + public function penentuanJadwalSeminarTopikBatch(Request $request){ + $manajer= Auth::user()->isManajer(); + $data = $request->all(); + if($manajer) { + $id = 0; + $topik_id = 0; + $status = 0; + foreach ($data as $key => $value){ + if(substr($key,0,2) === 'id') { + $id = $value; + }else if(substr($key,0,2) === 'tp' && substr($key,2) === $id){ + $topik_id = $value; + }else if(substr($key,0,3) === 'sch') { + if ($id === substr($key, 3)) { + $mahasiswa = Mahasiswa::find($id); + SeminarTopik::create( + [ + "mahasiswa_id" => $id, + "schedule" => $request->get($key), + "creator_id" => $manajer->id, + "topik_id" => $topik_id + ] + ); + $mahasiswa->status = Mahasiswa::STATUS_SIAP_SEMINAR_TOPIK; + $mahasiswa->save(); + } + $status = 1; + } + } + if($status === 0){ + return abort(404); + }else{ + return redirect('/penjadwalan'); + } + } else { + return abort(403); + } + } + + public function penentuanJadwalSeminarProposalBatch(Request $request){ + $manajer= Auth::user()->isManajer(); + $data = $request->all(); + if($manajer) { + $id = 0; + $status = 0; + $proposal_id = 0; + foreach ($data as $key => $value){ + if(substr($key,0,2) === 'id') { + $id = $value; + }else if(substr($key,0,2) === 'tp' && substr($key,2) === $id){ + $proposal_id = $value; + error_log($proposal_id); + }else if(substr($key,0,3) === 'sch') { + if ($id === substr($key, 3)) { + $mahasiswa = Mahasiswa::find($id); + SeminarProposal::create( + [ + "mahasiswa_id" => $id, + "schedule" => $request->get($key), + "creator_id" => $manajer->id, + "proposal_id" => $proposal_id + ] + ); + $mahasiswa->status = Mahasiswa::STATUS_SIAP_SEMINAR_PROPOSAL; + $mahasiswa->save(); + } + $status = 1; + } + } + if($status === 0){ + return abort(404); + }else{ + return redirect('/penjadwalan'); + } + } else { + return abort(403); + } + } +} \ No newline at end of file diff --git a/app/Http/Controllers/SeminarProposalController.php b/app/Http/Controllers/SeminarProposalController.php index 388a36d1c31d348cb972ba71cd51e39f7806bacb..1b9c7fdd06ad7fb94fd6559a81a02b22108d6ce8 100644 --- a/app/Http/Controllers/SeminarProposalController.php +++ b/app/Http/Controllers/SeminarProposalController.php @@ -20,7 +20,8 @@ class SeminarProposalController extends Controller [ "mahasiswa_id" => $mhs_id, "schedule" => $request->get("date"), - "creator_id" => $manajer->id + "creator_id" => $manajer->id, + "proposal_id" => $mahasiswa->proposal()->id ] ); $mahasiswa->status = Mahasiswa::STATUS_SIAP_SEMINAR_PROPOSAL; diff --git a/app/Http/Controllers/SeminarTopikController.php b/app/Http/Controllers/SeminarTopikController.php index 3581f44474656a772f51c545278089d1482a069b..3f6cab91a1658b14c0609c052871f43ade969a67 100644 --- a/app/Http/Controllers/SeminarTopikController.php +++ b/app/Http/Controllers/SeminarTopikController.php @@ -18,7 +18,8 @@ class SeminarTopikController extends Controller [ "mahasiswa_id" => $mhs_id, "schedule" => $request->get("date"), - "creator_id" => $manajer->id + "creator_id" => $manajer->id, + "topik_id" => $mahasiswa->getApprovedTopic()->id ] ); $mahasiswa->status = Mahasiswa::STATUS_SIAP_SEMINAR_TOPIK; diff --git a/app/Http/Controllers/SidangTesisController.php b/app/Http/Controllers/SidangTesisController.php index b69aeeeda72b18fa9a013da2b1cadee4af6ee589..7b23c1d2a5f13a1e9bbb99766c06163b707e9a3f 100644 --- a/app/Http/Controllers/SidangTesisController.php +++ b/app/Http/Controllers/SidangTesisController.php @@ -7,6 +7,8 @@ use App\Thesis; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use App\User; +use Illuminate\Support\Facades\Storage; + class SidangTesisController extends Controller { public function __construct() @@ -16,7 +18,7 @@ class SidangTesisController extends Controller public function showFormDaftarSidang(){ $mhs = Auth::user()->isMahasiswa(); - if($mhs) { + if($mhs && $mhs->tesis() && $mhs->tesis()->sidangTesis()) { $user = $mhs->user(); $thesis = $mhs->tesis(); $sidang_tesis = $thesis->sidangTesis(); @@ -25,6 +27,306 @@ class SidangTesisController extends Controller return abort(403); } } + + public function nilaiSidangTesis(Request $request, $id) { + $currentUser = Auth::user(); + $usr = User::where('username',$id)->first(); + echo $usr; + if(!$usr) + return abort(400); + $mhs = $usr->isMahasiswa(); + if(!$mhs) + return abort(400); + $tesis = $mhs->tesis(); + if(!$tesis) + return abort(400); + $sidangtesis = $tesis->sidangTesis(); + if(!$sidangtesis) + return abort(400); + else { + if($tesis->dosen_pembimbing1 == $currentUser->id) { + $scoreutama = $request->get('scoreUtama'); + $scorepenting = $request->get('scorePenting'); + $scorependukung = $request->get('scorePendukung'); + $sidangtesis->nilai_dosen_pembimbing_utama = $scoreutama; + $sidangtesis->nilai_dosen_pembimbing_pendukung = $scorependukung; + $sidangtesis->nilai_dosen_pembimbing_penting = $scorepenting; + $cek_nilai_penguji_1 = !is_null($sidangtesis->nilai_dosen_penguji_1_utama) && !is_null($sidangtesis->nilai_dosen_penguji_1_penting) && !is_null($sidangtesis->nilai_dosen_penguji_1_pendukung); + $cek_nilai_penguji_2 = !is_null($sidangtesis->nilai_dosen_penguji_2_utama) && !is_null($sidangtesis->nilai_dosen_penguji_2_penting) && !is_null($sidangtesis->nilai_dosen_penguji_2_pendukung); + $cek_nilai_pembimbing = !is_null($sidangtesis->nilai_dosen_pembimbing_utama) && !is_null($sidangtesis->nilai_dosen_pembimbing_penting) && !is_null($sidangtesis->nilai_dosen_pembimbing_pendukung); + $cek_nilai_kelas = !is_null($sidangtesis->nilai_dosen_kelas_utama) && !is_null($sidangtesis->nilai_dosen_kelas_penting); + $all_score_filled = $cek_nilai_pembimbing && $cek_nilai_penguji_1 && $cek_nilai_penguji_2 && $cek_nilai_kelas; + if ($all_score_filled) { + $ratautama = $this->countRata2($sidangtesis->nilai_dosen_penguji_1_utama, $sidangtesis->nilai_dosen_penguji_2_utama, $sidangtesis->nilai_dosen_pembimbing_utama, $sidangtesis->nilai_dosen_kelas_utama); + $ratapenting = $this->countRata2($sidangtesis->nilai_dosen_penguji_1_penting, $sidangtesis->nilai_dosen_penguji_2_penting, $sidangtesis->nilai_dosen_pembimbing_penting, $sidangtesis->nilai_dosen_kelas_penting); + $ratapendukung = $this->countRata($sidangtesis->nilai_dosen_penguji_1_pendukung, $sidangtesis->nilai_dosen_penguji_2_pendukung, $sidangtesis->nilai_dosen_pembimbing_pendukung); + if ($ratautama == "L") { + if ($ratapenting == "L") { + if (($ratapendukung == "L") || ($ratapendukung=="M")) { + $sidangtesis->nilai = "A"; + } else { + $sidangtesis->nilai = "AB"; + } + } else { + $sidangtesis->nilai = "AB"; + } + } else { + if ($ratautama == "M") { + if (($ratapenting == "L") || ($ratapenting=="M")) { + if (($ratapendukung == "L") || ($ratapendukung=="M")) { + $sidangtesis->nilai = "B"; + } + } else { + if (($ratapendukung == "L") || ($ratapendukung=="M")) { + $sidangtesis->nilai = "BC"; + } else { + $sidangtesis->nilai = "C"; + } + } + } else { + $sidangtesis->nilai = "E"; + } + } + } + $sidangtesis->save(); + return back(); + } else if($sidangtesis->dosen_penguji_1 == $currentUser->id) { + $scoreutama = $request->get('scoreUtama'); + $scorepenting = $request->get('scorePenting'); + $scorependukung = $request->get('scorePendukung'); + $sidangtesis->nilai_dosen_penguji_1_utama = $scoreutama; + $sidangtesis->nilai_dosen_penguji_1_pendukung = $scorependukung; + $sidangtesis->nilai_dosen_penguji_1_penting = $scorepenting; + $cek_nilai_penguji_1 = !is_null($sidangtesis->nilai_dosen_penguji_1_utama) && !is_null($sidangtesis->nilai_dosen_penguji_1_penting) && !is_null($sidangtesis->nilai_dosen_penguji_1_pendukung); + $cek_nilai_penguji_2 = !is_null($sidangtesis->nilai_dosen_penguji_2_utama) && !is_null($sidangtesis->nilai_dosen_penguji_2_penting) && !is_null($sidangtesis->nilai_dosen_penguji_2_pendukung); + $cek_nilai_pembimbing = !is_null($sidangtesis->nilai_dosen_pembimbing_utama) && !is_null($sidangtesis->nilai_dosen_pembimbing_penting) && !is_null($sidangtesis->nilai_dosen_pembimbing_pendukung); + $cek_nilai_kelas = !is_null($sidangtesis->nilai_dosen_kelas_utama) && !is_null($sidangtesis->nilai_dosen_kelas_penting); + $all_score_filled = $cek_nilai_pembimbing && $cek_nilai_penguji_1 && $cek_nilai_penguji_2 && $cek_nilai_kelas; + if ($all_score_filled) { + $ratautama = $this->countRata2($sidangtesis->nilai_dosen_penguji_1_utama, $sidangtesis->nilai_dosen_penguji_2_utama, $sidangtesis->nilai_dosen_pembimbing_utama, $sidangtesis->nilai_dosen_kelas_utama); + $ratapenting = $this->countRata2($sidangtesis->nilai_dosen_penguji_1_penting, $sidangtesis->nilai_dosen_penguji_2_penting, $sidangtesis->nilai_dosen_pembimbing_penting, $sidangtesis->nilai_dosen_kelas_penting); + $ratapendukung = $this->countRata($sidangtesis->nilai_dosen_penguji_1_pendukung, $sidangtesis->nilai_dosen_penguji_2_pendukung, $sidangtesis->nilai_dosen_pembimbing_pendukung); + if ($ratautama == "L") { + if ($ratapenting == "L") { + if (($ratapendukung == "L") || ($ratapendukung=="M")) { + $sidangtesis->nilai = "A"; + } else { + $sidangtesis->nilai = "AB"; + } + } else { + $sidangtesis->nilai = "AB"; + } + } else { + if ($ratautama == "M") { + if (($ratapenting == "L") || ($ratapenting=="M")) { + if (($ratapendukung == "L") || ($ratapendukung=="M")) { + $sidangtesis->nilai = "B"; + } + } else { + if (($ratapendukung == "L") || ($ratapendukung=="M")) { + $sidangtesis->nilai = "BC"; + } else { + $sidangtesis->nilai = "C"; + } + } + } else { + $sidangtesis->nilai = "E"; + } + } + } + $sidangtesis->save(); + return back(); + } else if($sidangtesis->dosen_penguji_2 == $currentUser->id) { + $scoreutama = $request->get('scoreUtama'); + $scorepenting = $request->get('scorePenting'); + $scorependukung = $request->get('scorePendukung'); + $sidangtesis->nilai_dosen_penguji_2_utama = $scoreutama; + $sidangtesis->nilai_dosen_penguji_2_pendukung = $scorependukung; + $sidangtesis->nilai_dosen_penguji_2_penting = $scorepenting; + $cek_nilai_penguji_1 = !is_null($sidangtesis->nilai_dosen_penguji_1_utama) && !is_null($sidangtesis->nilai_dosen_penguji_1_penting) && !is_null($sidangtesis->nilai_dosen_penguji_1_pendukung); + $cek_nilai_penguji_2 = !is_null($sidangtesis->nilai_dosen_penguji_2_utama) && !is_null($sidangtesis->nilai_dosen_penguji_2_penting) && !is_null($sidangtesis->nilai_dosen_penguji_2_pendukung); + $cek_nilai_pembimbing = !is_null($sidangtesis->nilai_dosen_pembimbing_utama) && !is_null($sidangtesis->nilai_dosen_pembimbing_penting) && !is_null($sidangtesis->nilai_dosen_pembimbing_pendukung); + $cek_nilai_kelas = !is_null($sidangtesis->nilai_dosen_kelas_utama) && !is_null($sidangtesis->nilai_dosen_kelas_penting); + $all_score_filled = $cek_nilai_pembimbing && $cek_nilai_penguji_1 && $cek_nilai_penguji_2 && $cek_nilai_kelas; + if ($all_score_filled) { + $ratautama = $this->countRata2($sidangtesis->nilai_dosen_penguji_1_utama, $sidangtesis->nilai_dosen_penguji_2_utama, $sidangtesis->nilai_dosen_pembimbing_utama, $sidangtesis->nilai_dosen_kelas_utama); + $ratapenting = $this->countRata2($sidangtesis->nilai_dosen_penguji_1_penting, $sidangtesis->nilai_dosen_penguji_2_penting, $sidangtesis->nilai_dosen_pembimbing_penting, $sidangtesis->nilai_dosen_kelas_penting); + $ratapendukung = $this->countRata($sidangtesis->nilai_dosen_penguji_1_pendukung, $sidangtesis->nilai_dosen_penguji_2_pendukung, $sidangtesis->nilai_dosen_pembimbing_pendukung); + if ($ratautama == "L") { + if ($ratapenting == "L") { + if (($ratapendukung == "L") || ($ratapendukung=="M")) { + $sidangtesis->nilai = "A"; + } else { + $sidangtesis->nilai = "AB"; + } + } else { + $sidangtesis->nilai = "AB"; + } + } else { + if ($ratautama == "M") { + if (($ratapenting == "L") || ($ratapenting=="M")) { + if (($ratapendukung == "L") || ($ratapendukung=="M")) { + $sidangtesis->nilai = "B"; + } + } else { + if (($ratapendukung == "L") || ($ratapendukung=="M")) { + $sidangtesis->nilai = "BC"; + } else { + $sidangtesis->nilai = "C"; + } + } + } else { + $sidangtesis->nilai = "E"; + } + } + } + $sidangtesis->save(); + return back(); + } else { + return abort(403); + } + } + } + + public function resetNilaiPenguji1(Request $request, $id) { + $manajer = Auth::User()->isManajer(); + $usr = User::where('username',$id)->first(); + echo $usr; + if (!$manajer) + return abort(400); + $mhs = $usr->isMahasiswa(); + if(!$mhs) + return abort(400); + $tesis = $mhs->tesis(); + if(!$tesis) + return abort(400); + $sidangtesis = $tesis->sidangTesis(); + if(!$sidangtesis) + return abort(400); + else { + $sidangtesis->nilai_dosen_penguji_1_utama = NULL; + $sidangtesis->nilai_dosen_penguji_1_penting = NULL; + $sidangtesis->nilai_dosen_penguji_1_pendukung = NULL; + $sidangtesis->save(); + return back(); + } + } + + public function resetNilaiPenguji2(Request $request, $id) { + $manajer = Auth::User()->isManajer(); + $usr = User::where('username',$id)->first(); + echo $usr; + if (!$manajer) + return abort(400); + $mhs = $usr->isMahasiswa(); + if(!$mhs) + return abort(400); + $tesis = $mhs->tesis(); + if(!$tesis) + return abort(400); + $sidangtesis = $tesis->sidangTesis(); + if(!$sidangtesis) + return abort(400); + else { + $sidangtesis->nilai_dosen_penguji_2_utama = NULL; + $sidangtesis->nilai_dosen_penguji_2_penting = NULL; + $sidangtesis->nilai_dosen_penguji_2_pendukung = NULL; + $sidangtesis->save(); + return back(); + } + } + + public function resetNilaiPembimbing(Request $request, $id) { + $manajer = Auth::User()->isManajer(); + $usr = User::where('username',$id)->first(); + echo $usr; + if (!$manajer) + return abort(400); + $mhs = $usr->isMahasiswa(); + if(!$mhs) + return abort(400); + $tesis = $mhs->tesis(); + if(!$tesis) + return abort(400); + $sidangtesis = $tesis->sidangTesis(); + if(!$sidangtesis) + return abort(400); + else { + $sidangtesis->nilai_dosen_pembimbing_utama = NULL; + $sidangtesis->nilai_dosen_pembimbing_penting = NULL; + $sidangtesis->nilai_dosen_pembimbing_pendukung = NULL; + $sidangtesis->save(); + return back(); + } + } + + private function countRata($nilai1, $nilai2, $nilai3) { + $countArray = array(); + $count_nilai_K = 0; + $count_nilai_L = 0; + $count_nilai_M = 0; + array_push($countArray, $nilai1, $nilai2, $nilai3); + foreach($countArray as $char) { + if ($char == "L") { + $count_nilai_L +=1; + } else if ($char == "K") { + $count_nilai_K +=1; + } else if ($char == "M") { + $count_nilai_M +=1; + } + } + if ($count_nilai_K != 0){ + if (($count_nilai_L >= $count_nilai_K) && ($count_nilai_L >= $count_nilai_M)) { + $max = "L"; + } else if (($count_nilai_M >= $count_nilai_K) && ($count_nilai_M >= $count_nilai_L)) { + $max = "M"; + } else if (($count_nilai_L < $count_nilai_K) && ($count_nilai_M < $count_nilai_K)) { + $max = "K"; + } + } else { + if ($count_nilai_L > $count_nilai_M) { + $max = "L"; + } else { + $max = "M"; + } + } + + return $max; + } + + private function countRata2($nilai1, $nilai2, $nilai3, $nilai4) { + $countArray = array(); + $count_nilai_K = 0; + $count_nilai_L = 0; + $count_nilai_M = 0; + array_push($countArray, $nilai1, $nilai2, $nilai3, $nilai4); + foreach($countArray as $char) { + if ($char == "L") { + $count_nilai_L +=1; + } else if ($char == "K") { + $count_nilai_K +=1; + } else if ($char == "M") { + $count_nilai_M +=1; + } + } + if ($count_nilai_K != 0){ + if (($count_nilai_L >= $count_nilai_K) && ($count_nilai_L >= $count_nilai_M)){ + $max = "L"; + } else if (($count_nilai_M >= $count_nilai_K) && ($count_nilai_M >= $count_nilai_L)) { + $max = "M"; + } else if (($count_nilai_L < $count_nilai_K) && ($count_nilai_M < $count_nilai_K)) { + $max = "K"; + } + } else { + if ($count_nilai_L > $count_nilai_M) { + $max = "L"; + } else { + $max = "M"; + } + } + + return $max; + } /** * Display a listing of the resource. * @@ -49,7 +351,6 @@ class SidangTesisController extends Controller SidangTesis::create([ 'thesis_id'=>$mhs->tesis()->id ]); - return back(); } else { return abort(403); @@ -57,10 +358,85 @@ class SidangTesisController extends Controller } - public function dosenEdit($id){ - echo $id; + public function dosenEdit(Request $request, $id){ + $usr = User::where('username',$id)->first(); +// echo $usr; + $mhs = $usr->isMahasiswa(); + $tesis = $mhs->tesis(); + $sidang = $tesis->sidangTesis(); + if($tesis->dosen_pembimbing1 == Auth::user()->id || $tesis->dosen_pembimbing2 == Auth::user()->id) { + print_r($request->all()); + $sidang->tanggal = $request->get('haritgl'); + $sidang->jam = $request->get('waktu'); + $sidang->tempat = $request->get('tempat'); + $sidang->ajuan_penguji1 = $request->get('usulan_penguji1'); + $sidang->ajuan_penguji2 = $request->get('usulan_penguji2'); + $sidang->ajuan_penguji3 = $request->get('usulan_penguji3'); + $sidang->approval_penguji1 = false; + $sidang->approval_penguji2 = false; + $sidang->approval_penguji3 = false; + $sidang->save(); + return back(); + } else{ + return abort(403); + } } + public function mahasiswaEdit(Request $request, $id){ + $user = User::where('username',$id)->first(); + $mhs = $user->isMahasiswa(); + if($mhs->id == Auth::user()->id && $mhs->tesis() && $mhs->tesis()->sidangTesis()) { + $sidang = $mhs->tesis()->sidangTesis(); + $eval_diri = $request->file('eval_diri'); + if($eval_diri) { + $path = $eval_diri->storeAs($user->username, $eval_diri->getClientOriginalName()); +// echo "Evaluasi Diri ".$path; + + $sidang->evaluasi_diri = $path; + } + + $draft_makalah = $request->file('draft_makalah'); + if($draft_makalah) { + $path = $draft_makalah->storeAs($user->username, $draft_makalah->getClientOriginalName()); +// echo "Draft Makalah ".$path; + + $sidang->draft_makalah = $path; + } + + $laporan_tesis = $request->file('laporan_tesis'); + if($laporan_tesis) { + $path = $laporan_tesis->storeAs($user->username, $laporan_tesis->getClientOriginalName()); +// echo "Laporan Tesis ".$path; + + $sidang->laporan_tesis = $path; + } + + + $ksm_akhir = $request->file('ksm_akhir'); + if($ksm_akhir) { + $path = $ksm_akhir->storeAs($user->username, $ksm_akhir->getClientOriginalName()); +// echo "Ksm Akhir ".$path; + $sidang->ksm_terakhir = $path; + } + + $form_paper = $request->file('form_paper'); + if($form_paper) { + + $path = $form_paper->storeAs($user->username, $form_paper->getClientOriginalName()); +// echo "Form Paper ".$path; + $sidang->submit_paper = $path; + } + + $sidang->semester_terdaftar = $request->get('semester_daftar'); + + $sidang->jadwal_seminar = $request->get('tanggal_seminar_tesis'); + + $sidang->save(); + return view('mahasiswa.daftar_sidang_tesis',['success'=>true]); + } else { + return abort(403); + } + } /** * Store a newly created resource in storage. * @@ -116,4 +492,48 @@ class SidangTesisController extends Controller { // } + + public function downloadFile($id,$filename){ + $usr = User::where('username',$id)->first(); + $cusr = Auth::user(); + if($cusr->username == $id || $usr->isMahasiswa()->tesis()->dosen_pembimbing1 == $cusr->id || $usr->isMahasiswa()->tesis()->dosen_pembimbing2 == $cusr->id || $cusr->isManajer()) + { + return Storage::download($id.'/'.$filename); + } + } + + public function manajerEdit(Request $request, $id){ + $usr = User::where('username',$id)->first(); +// echo $usr; + $mhs = $usr->isMahasiswa(); + $tesis = $mhs->tesis(); + $sidang = $tesis->sidangTesis(); + if(Auth::user()->isManajer()) { + print_r($request->all()); + $sidang->tanggal = $request->get('haritgl'); + $sidang->jam = $request->get('waktu'); + $sidang->tempat = $request->get('tempat'); + $sidang->dosen_penguji_1 = $request->get('dosen_penguji1'); + $sidang->dosen_penguji_2 = $request->get('dosen_penguji2'); + $sidang->save(); + return back(); + } else{ + return abort(403); + } + } + public function dosenPengujiApprove(Request $request, $id) { + $usr = Auth::user(); + $st = SidangTesis::find($id); + if($st->ajuan_penguji1 == $usr->id) { + $st->approval_penguji1 = true; + } else if($st->ajuan_penguji2 == $usr->id) { + $st->approval_penguji2 = true; + } else if($st->ajuan_penguji3 == $usr->id) { + $st->approval_penguji3 = true; + } else { + return abort(403); + } + $st->save(); + return back(); + } } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php new file mode 100644 index 0000000000000000000000000000000000000000..4133cffc04a1541611f9164aa0dda08722d01f7e --- /dev/null +++ b/app/Http/Controllers/UserController.php @@ -0,0 +1,83 @@ +<?php + +namespace App\Http\Controllers; + +use App\Mahasiswa; +use App\Dosen; +use App\Manajer; +use App\User; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Hash; +class UserController extends Controller +{ + // + public function index() { + return view('manajer.user_management'); + } + + public function show($uname) { + $auth = Auth::user(); + $usr = User::where('username',$uname)->first(); + if($auth->id == $usr->id || $auth->isManajer()) { + return view('edit_user',['user'=>$usr]); + } else { + return abort(403); + } + } + + public function save(Request $request, $uname) { + $auth = Auth::user(); + $usr = User::where('username',$uname)->first(); + if($auth->id == $usr->id || $auth->isManajer()) { + $usr->name = $request->get('name'); + $usr->phone = $request->get('phone'); + $usr->email = $request->get('email'); + $req_pass = $request->get('password'); + if($req_pass) { + if($req_pass == $request->get('password_confirmation')) { + $usr->password = Hash::make($req_pass); + } + else { + return view('edit_user',['user'=>$usr,'success'=>false]); + + } + } + $usr->save(); + return view('edit_user',['user'=>$usr,'success'=>true]); +// $usr->name = $request->get('name'); +// $usr->name = $request->get('name'); + } else { + return abort(403); + } + } + + public function addDosenRole(Request $request, $id) { + if(Auth::user()->isManajer()) { + Dosen::create(['id'=>$id]); + return back(); + + } else { + return abort(403); + } + } + public function addMahasiswaRole(Request $request, $id) { + if(Auth::user()->isManajer()) { + Mahasiswa::create(['id'=>$id]); + return back(); + } else { + return abort(403); + } + } + public function addManajerRole(Request $request, $id) { + if(Auth::user()->isManajer()) { + Manajer::create(['id'=>$id]); + return back(); + + } else { + return abort(403); + } + } + + +} diff --git a/app/Mahasiswa.php b/app/Mahasiswa.php index 28c048fc3ec8f776dd6a8a62df36367da3ca53fc..e079fbf79787747993f104e2881c2207df9e083f 100644 --- a/app/Mahasiswa.php +++ b/app/Mahasiswa.php @@ -34,7 +34,7 @@ class Mahasiswa extends Model const STATUS_SIAP_SIDANG_TESIS = 14; const STATUS_LULUS = 15; - protected $statusString = [ + public $statusString = [ "0" => "Menunggu topik", "1" => "Topik telah diajukan", "2" => "Topik telah disetujui", diff --git a/app/Proposal.php b/app/Proposal.php index af675c96a3bbc68ab8e089278399de29d7e35ef6..5cd0a7646db641cb14fa0bc251ace9f887109d4d 100644 --- a/app/Proposal.php +++ b/app/Proposal.php @@ -40,4 +40,8 @@ class Proposal extends Model function getStatusString() { return Proposal::STATUS_STRING[$this->status]; } + + public function mahasiswa() { + return $this->belongsTo('App\Mahasiswa','mahasiswa_id','id'); + } } diff --git a/app/SeminarProposal.php b/app/SeminarProposal.php index 5511c73f2d9caad5d226162fe11b84121bee1435..5c0eb98184cdc0caa4fba54f2585872815f14535 100644 --- a/app/SeminarProposal.php +++ b/app/SeminarProposal.php @@ -8,7 +8,7 @@ class SeminarProposal extends Model const ACTION_LULUS = 1; const ACTION_GAGAL = 0; protected $fillable = [ - "mahasiswa_id","schedule","creator_id","passed","evaluator_id" + "mahasiswa_id","schedule","creator_id","passed","evaluator_id","proposal_id" ]; public function creator() { @@ -18,4 +18,8 @@ class SeminarProposal extends Model public function evaluator() { return $this->belongsTo('App\User','evaluator_id','id'); } + + public function mahasiswa() { + return $this->belongsTo('App\Mahasiswa','mahasiswa_id','id'); + } } diff --git a/app/SeminarTopik.php b/app/SeminarTopik.php index d9c0f527c9ea79b0a3de9ff9769c63c1872f155a..d1ef5a28c4e8e3032f3cbb7a6b0cbfa33bebca62 100644 --- a/app/SeminarTopik.php +++ b/app/SeminarTopik.php @@ -10,13 +10,17 @@ class SeminarTopik extends Model const ACTION_LULUS = 1; const ACTION_GAGAL = 0; protected $fillable = [ - "mahasiswa_id","schedule","creator_id","passed","evaluator_id" + "mahasiswa_id","schedule","creator_id","passed","evaluator_id","topik_id" ]; public function creator() { return $this->belongsTo('App\User','creator_id','id'); } + public function topik() { + return $this->belongsTo('App\TopicApproval', 'topik_id', 'topic_id'); + } + public function evaluator() { return $this->belongsTo('App\User','evaluator_id','id'); } diff --git a/app/SidangTesis.php b/app/SidangTesis.php index 23672f0ff543890741b387a6d5c65994c5f7839f..5f3554870b2f6402ad616f14989fc0a4aec941fc 100644 --- a/app/SidangTesis.php +++ b/app/SidangTesis.php @@ -8,14 +8,37 @@ class SidangTesis extends Model { protected $table = 'sidang_tesis'; protected $fillable = - ['thesis_id']; + ['thesis_id','id','nilai', 'tanggal', 'jam','dosen_penguji_1','dosen_penguji_2','nilai_dosen_penguji_1_utama'.'nilai_dosen_penguji_2_utama','nilai_dosen_pembimbing_utama','nilai_dosen_penguji_1_penting'.'nilai_dosen_penguji_2_penting','nilai_dosen_pembimbing_penting','nilai_dosen_penguji_1_pendukung'.'nilai_dosen_penguji_2_pendukung','nilai_dosen_pembimbing_pendukung','nilai_dosen_kelas_penting','nilai_dosen_kelas_utama']; public function tesis() { return $this->belongsTo('App\Thesis', 'thesis_id','id'); } - public function dosen_penguji() { - return $this->belongsTo('App\User','dosen_penguji','id'); + public function dosen_penguji1() { + return $this->belongsTo('App\User','dosen_penguji_1','id'); } + + public function dosen_penguji2() { + return $this->belongsTo('App\User','dosen_penguji_2','id'); + } + + public function ajuan_penguji_1() { + return $this->belongsTo('App\User','ajuan_penguji1','id'); + } + public function ajuan_penguji_2() { + return $this->belongsTo('App\User','ajuan_penguji2','id'); + } + public function ajuan_penguji_3() { + return $this->belongsTo('App\User','ajuan_penguji3','id'); + } + + public function approval_status_string($status) { + if($status) { + return "<span class='text-color-green'>Telah Setuju</span>"; + } else { + return "<span class='text-color-red'>Belum Setuju</span>"; + } + } + } diff --git a/app/User.php b/app/User.php index ff3d82aafc3699a05fddc5d7ed330fae81ff652c..7c269052d776551f849b65667599ce36f575c277 100644 --- a/app/User.php +++ b/app/User.php @@ -19,7 +19,7 @@ class User extends Authenticatable * @var array */ protected $fillable = [ - 'name', 'email', 'username', 'password', + 'name', 'email', 'username', 'password','phone' ]; /** diff --git a/composer.lock b/composer.lock index 42dae2ba506f8d0b15182843e65dd42ecf78edf6..4933c21faecdd8c5fc3b2e69aa20b778dc1a0e00 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "a529934503639f8c6783b21b7efe77f1", + "content-hash": "3ced3972e73368ce58e3cebab939da0e", "packages": [ { "name": "dnoegel/php-xdg-base-dir", @@ -39,6 +39,363 @@ "description": "implementation of xdg base directory specification for php", "time": "2014-10-24T07:27:01+00:00" }, + { + "name": "doctrine/annotations", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", + "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "php": "^7.1" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2017-12-06T07:11:42+00:00" + }, + { + "name": "doctrine/cache", + "version": "v1.7.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a", + "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a", + "shasum": "" + }, + "require": { + "php": "~7.1" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "alcaeus/mongo-php-adapter": "^1.1", + "mongodb/mongodb": "^1.1", + "phpunit/phpunit": "^5.7", + "predis/predis": "~1.0" + }, + "suggest": { + "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2017-08-25T07:02:50+00:00" + }, + { + "name": "doctrine/collections", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf", + "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "~0.1@dev", + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "array", + "collections", + "iterator" + ], + "time": "2017-07-22T10:37:32+00:00" + }, + { + "name": "doctrine/common", + "version": "v2.8.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/f68c297ce6455e8fd794aa8ffaf9fa458f6ade66", + "reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66", + "shasum": "" + }, + "require": { + "doctrine/annotations": "1.*", + "doctrine/cache": "1.*", + "doctrine/collections": "1.*", + "doctrine/inflector": "1.*", + "doctrine/lexer": "1.*", + "php": "~7.1" + }, + "require-dev": { + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common Library for Doctrine projects", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "collections", + "eventmanager", + "persistence", + "spl" + ], + "time": "2017-08-31T08:43:38+00:00" + }, + { + "name": "doctrine/dbal", + "version": "v2.7.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "11037b4352c008373561dc6fc836834eed80c3b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/11037b4352c008373561dc6fc836834eed80c3b5", + "reference": "11037b4352c008373561dc6fc836834eed80c3b5", + "shasum": "" + }, + "require": { + "doctrine/common": "^2.7.1", + "ext-pdo": "*", + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^4.0", + "phpunit/phpunit": "^7.0", + "phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5", + "symfony/console": "^2.0.5||^3.0", + "symfony/phpunit-bridge": "^3.4.5|^4.0.5" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\DBAL\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Database Abstraction Layer", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "persistence", + "queryobject" + ], + "time": "2018-04-07T18:44:18+00:00" + }, { "name": "doctrine/inflector", "version": "v1.3.0", diff --git a/database/migrations/2018_04_21_053046_split_waktu_in_sidang_tesis.php b/database/migrations/2018_04_21_053046_split_waktu_in_sidang_tesis.php new file mode 100644 index 0000000000000000000000000000000000000000..0a84250475843dded12ed4fd037482c6a059399a --- /dev/null +++ b/database/migrations/2018_04_21_053046_split_waktu_in_sidang_tesis.php @@ -0,0 +1,39 @@ +<?php + +use Illuminate\Support\Facades\Schema; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Migrations\Migration; + +class SplitWaktuInSidangTesis extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::table('sidang_tesis', function (Blueprint $table) { + // + $table->dropColumn('waktu'); + $table->date('tanggal'); + $table->time('jam'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('sidang_tesis', function (Blueprint $table) { + // + $table->dropColumn('tanggal'); + $table->dropColumn('jam'); + $table->timestamp('waktu'); + + }); + } +} diff --git a/database/migrations/2018_04_21_065110_add_jadwal_seminar_in_table_sidang.php b/database/migrations/2018_04_21_065110_add_jadwal_seminar_in_table_sidang.php new file mode 100644 index 0000000000000000000000000000000000000000..baf21941e8eda7a6ff10fbb222ca48e16d62e65d --- /dev/null +++ b/database/migrations/2018_04_21_065110_add_jadwal_seminar_in_table_sidang.php @@ -0,0 +1,34 @@ +<?php + +use Illuminate\Support\Facades\Schema; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Migrations\Migration; + +class AddJadwalSeminarInTableSidang extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::table('sidang_tesis', function (Blueprint $table) { + // + $table->timestamp('jadwal_seminar')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('sidang_tesis', function (Blueprint $table) { + // + $table->dropColumn('jadwal_seminar'); + }); + } +} diff --git a/database/migrations/2018_04_22_074156_add_topic_id_column_on_seminar_topik.php b/database/migrations/2018_04_22_074156_add_topic_id_column_on_seminar_topik.php new file mode 100644 index 0000000000000000000000000000000000000000..0c7ed6f2f6c7a63c8b0ced295143cf1f9c58436e --- /dev/null +++ b/database/migrations/2018_04_22_074156_add_topic_id_column_on_seminar_topik.php @@ -0,0 +1,33 @@ +<?php + +use Illuminate\Support\Facades\Schema; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Migrations\Migration; + +class AddTopicIdColumnOnSeminarTopik extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::table('seminar_topiks', function (Blueprint $table) { + $table->unsignedInteger('topik_id')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('seminar_topiks', function (Blueprint $table) { + // + $table->dropColumn('topik_id'); + }); + } +} diff --git a/database/migrations/2018_04_22_095114_add_proposal_id_column_on_seminar_proposal.php b/database/migrations/2018_04_22_095114_add_proposal_id_column_on_seminar_proposal.php new file mode 100644 index 0000000000000000000000000000000000000000..f7a9f2b6a690e3ce99d3be5f74c8c72655951a88 --- /dev/null +++ b/database/migrations/2018_04_22_095114_add_proposal_id_column_on_seminar_proposal.php @@ -0,0 +1,33 @@ +<?php + +use Illuminate\Support\Facades\Schema; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Migrations\Migration; + +class AddProposalIdColumnOnSeminarProposal extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::table('seminar_proposals', function (Blueprint $table) { + $table->unsignedInteger('proposal_id')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('seminar_proposals', function (Blueprint $table) { + // + $table->dropColumn('proposal_id'); + }); + } +} diff --git a/database/migrations/2018_04_25_114138_add_nullable_attribute_sidang.php b/database/migrations/2018_04_25_114138_add_nullable_attribute_sidang.php new file mode 100644 index 0000000000000000000000000000000000000000..3d999b5aa41fc16f140f008dfbccf6bd53b3bcae --- /dev/null +++ b/database/migrations/2018_04_25_114138_add_nullable_attribute_sidang.php @@ -0,0 +1,34 @@ +<?php + +use Illuminate\Support\Facades\Schema; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Migrations\Migration; + +class AddNullableAttributeSidang extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::table('sidang_tesis', function($table) { + $table->date('tanggal')->nullable()->change(); + $table->time('jam')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('sidang_tesis', function($table) { + $table->date('tanggal')->nullable(false)->change(); + $table->time('jam')->nullable(false)->change(); + }); + } +} diff --git a/resources/assets/sass/app.scss b/resources/assets/sass/app.scss index b56519e315885dab12cb588df87a2215552b8fa3..5ddc7283bdf73e77af14502cc0d33b4b27746d4e 100644 --- a/resources/assets/sass/app.scss +++ b/resources/assets/sass/app.scss @@ -127,4 +127,12 @@ body { .text-decoration-none, .text-decoration-none:hover, .text-decoration-none:active, .text-decoration-none:focus, .text-decoration-none:active:focus, .text-decoration-none:focus:active { text-decoration: none !important; +} + +.text-color-green { + color: $green !important; +} + +.border-color-black { + border-color: $black; } \ No newline at end of file diff --git a/resources/assets/sass/component/mahasiswa.scss b/resources/assets/sass/component/mahasiswa.scss index 532308635aa293fd7d37c9136af99c897e5e0eec..a8ac21511d1898cf1234601efde8aec8277844cf 100644 --- a/resources/assets/sass/component/mahasiswa.scss +++ b/resources/assets/sass/component/mahasiswa.scss @@ -36,15 +36,19 @@ .level_1 {} .level_2 { - left:30%; + left:22%; } .level_3 { - left:60%; + left:44%; } .level_4 { - left:90%; + left:66%; +} + +.level_5 { + left:88%; } .level.level_reached { @@ -62,45 +66,53 @@ text-align: center; margin-top: 55px; color: #006ca9; - width: 100px; + width: 80px; } .level1_text{ - left:-3%; + left:-2%; } .level2_text{ - left:27%; + left:20%; } .level3_text{ - left:57%; + left:42%; } .level4_text{ - left:87%; + left:64%; +} + +.level5_text{ + left:86%; } @media only screen and (max-width: 990px){ .level1_text{ - left:-5%; + left:-3%; } .level2_text{ - left:25%; + left:19%; } .level3_text{ - left:55%; + left:41%; } .level4_text{ + left:63%; + } + + .level5_text{ left:85%; } } .progress { - width:30%; + width:22%; background-color: #b8b8b8; height:11px; position:absolute; @@ -112,11 +124,15 @@ } .progress_2 { - left:35%; + left:25%; } .progress_3 { - left:65%; + left:48%; +} + +.progress_4 { + left:70%; } .bar { diff --git a/resources/views/dosen/detail_mahasiswa.blade.php b/resources/views/dosen/detail_mahasiswa.blade.php index dd7c446e8ac12c0cad5558e979cdf584fc88ae86..7867ea0cb2c9d1cbe9d2aec537a155e536480858 100644 --- a/resources/views/dosen/detail_mahasiswa.blade.php +++ b/resources/views/dosen/detail_mahasiswa.blade.php @@ -8,6 +8,7 @@ @php($seminarProposal = $mahasiswa->seminarProposal()) @php($tesis = $mahasiswa->tesis()) @php($seminarTesis = $tesis->seminarTesis()) + @php($sidangTesis = $tesis->sidangTesis()) <div class="container detail-mahasiswa-control-page"> <div class="row"> @@ -46,7 +47,7 @@ </button> </a> @if($mahasiswa->status >= \App\Mahasiswa::STATUS_LULUS_SEMINAR_TESIS) - <a href="/sidangtesis/create/{{$mahasiswa->user()->username}}"> + <a href="/sidangtesis/create/{{$mahasiswa->user()->username}}" class="mb-4"> <button class="btn btn-blue"> Buat Pengajuan Sidang Tesis </button> @@ -55,7 +56,98 @@ </div> </div> + <div class="col-md-8"> + @if ($mahasiswa->status >= \App\Mahasiswa::STATUS_SIAP_SIDANG_TESIS) + @if($sidangTesis) + @if (!is_null($sidangTesis->jam) && !is_null($sidangTesis->tempat)) + <div class="mb-2"> + <h3> + Penilaian Sidang Tesis + </h3> + @if($mahasiswa->status >= \App\Mahasiswa::STATUS_LULUS) + <div class="alert alert-success row align-items-center flex-row display-flex flex-wrap-nowrap"> + <i class="material-icons font-size-18-px mr-2">check_circle</i> +   Kelulusan mahasiswa ditetapkan pada {{date("d M Y H:i:s", strtotime($sidangTesis->updated_at.'UTC'))}} + </div> + <fieldset disabled="disabled"> + @endif + @if($tesis->dosen_pembimbing1 == $dosen->id) + @if(!is_null($sidangTesis->nilai_dosen_pembimbing_utama)) + <div class="alert alert-success row align-items-center flex-row display-flex flex-wrap-nowrap"> + <i class="material-icons font-size-18-px mr-2">check_circle</i> + Anda telah melakukan penilaian terhadap mahasiswa yang bersangkutan silakan hubungi Admin untuk perubahan nilai. + </div> + <fieldset disabled="disabled"> + @endif + @endif + <div class="row justify-content-center"> + + <form action="/sidangtesis/nilai/{{$user->username}}" method="post" class="width-full"> + {{csrf_field()}} + <input type="hidden" value="{{$user->username}}" name="mahasiswa"> + <div class="form-group row width-full justify-content-center"> + <label for="scoreIndexUtama" class=" col-sm-4 text-center col-form-label mr-1 ml-1">Nilai Komponen Utama</label> + <select class="form-control col-sm-2 ml-1 mr-1" name="scoreUtama" id="scoreIndexUtama" + > + @if($sidangTesis->nilai_dosen_pembimbing_utama == "L") + <option selected ="selected" value="L">L</option> + @elseif ($sidangTesis->nilai_dosen_pembimbing_utama == "M") + <option selected ="selected" value="M">M</option> + @elseif ($sidangTesis->nilai_dosen_pembimbing_utama == "K") + <option selected ="selected" value="K">K</option> + @else + <option value="L">L</option> + <option value="M">M</option> + <option value="K">K</option> + @endif + </select> + </div> + <div class="form-group row width-full justify-content-center"> + <label for="scoreIndexPenting" class=" col-sm-4 text-center col-form-label mr-1 ml-1">Nilai Komponen Penting</label> + <select class="form-control col-sm-2 ml-1 mr-1" name="scorePenting" id="scoreIndexPenting" + > + @if($sidangTesis->nilai_dosen_pembimbing_penting == "L") + <option selected ="selected" value="L">L</option> + @elseif ($sidangTesis->nilai_dosen_pembimbing_penting == "M") + <option selected ="selected" value="M">M</option> + @elseif ($sidangTesis->nilai_dosen_pembimbing_penting == "K") + <option selected ="selected" value="K">K</option> + @else + <option value="L">L</option> + <option value="M">M</option> + <option value="K">K</option> + @endif + </select> + </div> + <div class="form-group row width-full justify-content-center"> + <label for="scoreIndexPendukung" class=" col-sm-4 text-center col-form-label mr-1 ml-1">Nilai Komponen Pendukung</label> + <select class="form-control col-sm-2 ml-1 mr-1" name="scorePendukung" id="scoreIndexPendukung" + > + @if($sidangTesis->nilai_dosen_pembimbing_pendukung == "L") + <option selected ="selected" value="L">L</option> + @elseif ($sidangTesis->nilai_dosen_pembimbing_pendukung == "M") + <option selected ="selected" value="M">M</option> + @elseif ($sidangTesis->nilai_dosen_pembimbing_pendukung == "K") + <option selected ="selected" value="K">K</option> + @else + <option value="L">L</option> + <option value="M">M</option> + <option value="K">K</option> + @endif + </select> + </div> + <div class="form-group row width-full justify-content-center"> + <button class="col-md-2 btn btn-blue ml-1 mr-1"> + Tetapkan + </button> + </div> + </form> + </div> + </div> + @endif + @endif + @endif @if($tesis->sidangTesis()) <div class="mb-2"> <h3> @@ -89,21 +181,73 @@ <label for="haritgl" class="col-md-4 col-form-label text-md-right text-center"> Tanggal </label> - <input type="date" id="haritgl" name="haritgl" class="col-md-8 form-control" > + <input type="date" id="haritgl" name="haritgl" class="col-md-8 form-control" value="{{$sidangTesis->tanggal}}" > </div> <div class="form-group row col-md-12"> <label for="waktu" class="col-md-4 col-form-label text-md-right text-center"> Waktu </label> - <input type="time" id="haritgl" name="waktu" class="col-md-8 form-control" > + <input type="time" id="haritgl" name="waktu" class="col-md-8 form-control" value="{{$sidangTesis->jam}}"> </div> <div class="form-group row col-md-12"> <label for="tempat" class="col-md-4 col-form-label text-md-right text-center"> Tempat </label> - <input type="string" id="tempat" name="tempat" class="col-md-8 form-control" > + <input type="string" id="tempat" name="tempat" class="col-md-8 form-control" value="{{$sidangTesis->tempat}}"> + </div> + + <div class="form-group row col-md-12"> + <label for="tempat" class="col-md-4 col-form-label text-md-right text-center"> + Usulan Dosen Penguji + </label> + <select name="usulan_penguji1" class="form-control col-md-8" id=""> + @foreach(App\Dosen::getListDosenPenguji() as $item) + <option value="{{$item->id}}" + @if($sidangTesis->ajuan_penguji1 == $item->id) + selected + @endif + > + {{$item->user->name}} + + </option> + @endforeach + </select> + </div> + <div class="form-group row col-md-12"> + + <label for="tempat" class="col-md-4 col-form-label text-md-right text-center"> + Usulan Dosen Penguji + </label> + <select name="usulan_penguji2" class="form-control col-md-8" id=""> + @foreach(App\Dosen::getListDosenPenguji() as $item) + <option value="{{$item->id}}" + @if($sidangTesis->ajuan_penguji2 == $item->id) + selected + @endif + > + {{$item->user->name}} + </option> + @endforeach + </select> + </div> + <div class="form-group row col-md-12"> + + <label for="tempat" class="col-md-4 col-form-label text-md-right text-center"> + Usulan Dosen Penguji + </label> + <select name="usulan_penguji3" class="form-control col-md-8" id=""> + @foreach(App\Dosen::getListDosenPenguji() as $item) + <option value="{{$item->id}}" + @if($sidangTesis->ajuan_penguji3 == $item->id) + selected + @endif + > + {{$item->user->name}} + </option> + @endforeach + </select> </div> </div> diff --git a/resources/views/dosen/index.blade.php b/resources/views/dosen/index.blade.php index e82d434d459c90ccbfb60979dd87bb7b03474a3c..40d840a193f13f3e6b33f1f425b93d50adf9ea6e 100644 --- a/resources/views/dosen/index.blade.php +++ b/resources/views/dosen/index.blade.php @@ -12,217 +12,372 @@ statejs = 1; } </script> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <div class="container"> - <h2>Dashboard</h2> - <br> - <!-- Nav tabs --> - <ul class="nav nav-tabs" role="tablist"> - <li class="nav-item"> - <a class="nav-link active" data-toggle="tab" href="#home">Daftar Mahasiswa</a> - </li> - <li class="nav-item"> - <a class="nav-link" data-toggle="tab" href="#menu1">Input Nilai Dosen Tesis</a> - </li> - <!-- <li class="nav-item"> - <a class="nav-link" data-toggle="tab" href="#menu2">Input Nilai</a> - </li> --> - </ul> + @php($cuser = Auth::user()) + @php($dosen = $cuser->isDosen()) + <div class="row"> + <div class="col col-md-6"> + <!-- Nav tabs --> + <!-- <ul class="nav nav-tabs" role="tablist"> + <li class="nav-item"> + <a class="nav-link active" data-toggle="tab" href="#home">Daftar Mahasiswa</a> + </li> + <li class="nav-item"> + <a class="nav-link" data-toggle="tab" href="#menu1">Input Nilai Dosen Tesis</a> + </li> + <li class="nav-item"> + <a class="nav-link" data-toggle="tab" href="#menu2">Input Nilai</a> + </li> + </ul> --> - <!-- Tab panes --> - <div class="tab-content"> - <div id="home" class="container tab-pane active"><br> - <div class="row"> - <div class="col-sm-5"> - <div id="accordion"> - <div class="card"> - <div class="card-header"> - <a class="card-link" data-toggle="collapse" href="#collapseOne"> - Mahasiswa Bimbingan - </a> - </div> - <div id="collapseOne" class="collapse show" data-parent="#accordion"> - <div class="card-body"> - <div class="row justify-content-center"> - <table class="mahasiswa-control-table width-full table table-hover"> - <thead> - <tr class="text-center"> - <th> - No - </th> - <th> - Nama - </th> - <th> - NIM - </th> - <!-- <th> - Status - </th> --> - <th></th> - </tr> - </thead> - @foreach($mahasiswabimbingan as $item) - @php($user = $item->user()) - <tr class="text-center" > - <td> - {{$loop->iteration}} - </td> - <td> - {{$user->name}} - </td> - <td> - {{$user->username}} - </td> - <!-- <td> - {{$item->getStatusString()}} - </td> --> - <td> - <a href="/dosen/mahasiswa-control/{{$user->username}}" class="text-decoration-none"> - <button class="btn btn-icon display-flex justify-content-center align-items-center" id="buttondetail" onClick="Button_Click()"> - <!-- <i class="text-decoration-none material-icons mr-2">remove_red_eye</i> --> - <i class="material-icons font-size-18-px"> - search - </i> - </button> - </a> - </td> - </tr> - @endforeach - </table> - </div> - </div> - </div> - </div> - <div class="card"> - <div class="card-header"> - <a class="collapsed card-link" data-toggle="collapse" href="#collapseTwo"> - Mahasiswa Uji - </a> - </div> - <div id="collapseTwo" class="collapse" data-parent="#accordion"> - <div class="card-body"> - <p>tes</p> - {{--<div class="row justify-content-center">--}} - {{--<table class="mahasiswa-control-table">--}} - {{--<tr class="text-center">--}} - {{--<th>--}} - {{--No--}} - {{--</th>--}} - {{--<th>--}} - {{--Nama--}} - {{--</th>--}} - {{--<th>--}} - {{--NIM--}} - {{--</th>--}} - {{--<th>--}} - {{--Status--}} - {{--</th>--}} - {{--</tr>--}} - {{--@foreach($mahasiswauji as $item)--}} - {{--@php($user = $item->user())--}} - {{--<tr class="text-center">--}} - {{--<td>--}} - {{--{{$loop->iteration}}--}} - {{--</td>--}} - {{--<td>--}} - {{--{{$user->name}}--}} - {{--</td>--}} - {{--<td>--}} - {{--{{$user->username}}--}} - {{--</td>--}} - {{--<td>--}} - {{--{{$item->getStatusString()}}--}} - {{--</td>--}} - {{--</tr>--}} - {{--@endforeach--}} - {{--</table>--}} - {{--</div>--}} - </div> - </div> - </div> - <div class="card"> - <div class="card-header"> - <a class="collapsed card-link" data-toggle="collapse" href="#collapseThree"> - Mahasiswa Kelas Tesis - </a> - </div> - <div id="collapseThree" class="collapse" data-parent="#accordion"> - <div class="card-body"> - <p>tes</p> - {{--<div class="row justify-content-center">--}} - {{--<table class="mahasiswa-control-table">--}} - {{--<tr class="text-center">--}} - {{--<th>--}} - {{--No--}} - {{--</th>--}} - {{--<th>--}} - {{--Nama--}} - {{--</th>--}} - {{--<th>--}} - {{--NIM--}} - {{--</th>--}} - {{--<th>--}} - {{--Status--}} - {{--</th>--}} - {{--</tr>--}} - {{--@foreach($mahasiswauji as $item)--}} - {{--@php($user = $item->user())--}} - {{--<tr class="text-center">--}} - {{--<td>--}} - {{--{{$loop->iteration}}--}} - {{--</td>--}} - {{--<td>--}} - {{--{{$user->name}}--}} - {{--</td>--}} - {{--<td>--}} - {{--{{$user->username}}--}} - {{--</td>--}} - {{--<td>--}} - {{--{{$item->getStatusString()}}--}} - {{--</td>--}} - {{--</tr>--}} - {{--@endforeach--}} - {{--</table>--}} - {{--</div>--}} - </div> - </div> - </div> - </div> + <!-- Tab panes --> + + <!-- <div class="tab-content"> --> + <!-- <div id="home" class="container tab-pane active"><br> --> + <!-- <div class="row"> + <div class="col"> --> + <h3>Daftar Mahasiswa</h3> + + <hr/> + <div id="accordion"> + <div class="card"> + <div class="card-header"> + <a class="card-link" data-toggle="collapse" href="#collapseOne"> + Mahasiswa Bimbingan + </a> + </div> + <div id="collapseOne" class="collapse show" data-parent="#accordion"> + <div class="card-body"> + <div class="row justify-content-center"> + <table class="mahasiswa-control-table width-full table table-hover"> + <thead> + <tr class="text-center"> + <th> + No + </th> + <th> + Nama + </th> + <th> + NIM + </th> + <!-- <th> + Status + </th> --> + <th></th> + </tr> + </thead> + @foreach($mahasiswabimbingan as $item) + @php($user = $item->user()) + <tr class="text-center" > + <td> + {{$loop->iteration}} + </td> + <td> + {{$user->name}} + </td> + <td> + {{$user->username}} + </td> + <!-- <td> + {{$item->getStatusString()}} + </td> --> + <td> + <a href="/dosen/mahasiswa-control/{{$user->username}}" class="text-decoration-none"> + <button class="btn btn-icon display-flex justify-content-center align-items-center" id="buttondetail" onClick="Button_Click()"> + <!-- <i class="text-decoration-none material-icons mr-2">remove_red_eye</i> --> + <i class="material-icons font-size-18-px"> + search + </i> + </button> + </a> + </td> + </tr> + @endforeach + </table> + <a class="btn btn-blue" href="/hasilbimbingan" role="button">Lihat Seluruh Jadwal Bimbingan</a> + </div> + </div> + </div> + </div> - </div> + <div class="card"> + <div class="card-header"> + <a class="collapsed card-link" data-toggle="collapse" href="#collapseTwo"> + Mahasiswa Uji + </a> + </div> + <div id="collapseTwo" class="collapse" data-parent="#accordion"> + <div class="card-body"> - <div class="col-sm-7"> - <h2>Jadwal Dosen</h2> - <!-- <?php if($state == 1) : ?> - <a href="#">This will only display if $condition is true</a> - <?php else : ?> - even more html - <?php endif; ?> --> + @foreach($dosen->sidangTesisNeedApproval() as $st) + @if(($st->ajuan_penguji1 == $cuser->id && !$st->approval_penguji1) || ($st->ajuan_penguji2 == $cuser->id && !$st->approval_penguji2) || ($st->ajuan_penguji3 == $cuser->id && !$st->approval_penguji3)) + @php($tesis = $st->tesis) + @php($mhs = $tesis->mahasiswa) + @php($usr = $mhs->user()) + <div class="border border-color-black pt-1 pr-1 pl-1 pb-1"> + <div class="row"> + <table class="col-md-8"> + <tr> + <td> + Mahasiswa + </td> + <td> + : + </td> + <td> + {{$usr->name}} + </td> + </tr> + <tr> + <td> + Jadwal + </td> + <td> + : + </td> + <td> + {{date("d M Y H:iA", strtotime($st->tanggal.'T'.$st->jam.'UTC'))}} + </td> + </tr> - <!-- <script> + <tr> + <td> + Tempat + </td> + <td> + : + </td> + <td> + {{$st->tempat}} + </td> + </tr> + <tr> + <td> + Judul Tesis + </td> + <td> + : + </td> + <td> + {{$tesis->topic}} + </td> + </tr> + <tr> + <td> + Dosen Pembimbing + </td> + <td> + : + </td> + <td> + {{$tesis->dosen_pembimbing_1->user->name}} + </td> + </tr> + </table> + <div class="display-flex justify-content-start align-items-center"> + <form action="/sidangtesis/dosenuji/approve/{{$st->id}}" method="post"> + {{csrf_field()}} + <input type="hidden" value="{{$cuser->id}}"> + <button class="btn btn-blue"> + Approve + </button> + </form> + </div> + </div> + </div> + @endif + @endforeach + {{--<div class="row justify-content-center">--}} + {{--<table class="mahasiswa-control-table">--}} + {{--<tr class="text-center">--}} + {{--<th>--}} + {{--No--}} + {{--</th>--}} + {{--<th>--}} + {{--Nama--}} + {{--</th>--}} + {{--<th>--}} + {{--NIM--}} + {{--</th>--}} + {{--<th>--}} + {{--Status--}} + {{--</th>--}} + {{--</tr>--}} + {{--@foreach($mahasiswauji as $item)--}} + {{--@php($user = $item->user())--}} + {{--<tr class="text-center">--}} + {{--<td>--}} + {{--{{$loop->iteration}}--}} + {{--</td>--}} + {{--<td>--}} + {{--{{$user->name}}--}} + {{--</td>--}} + {{--<td>--}} + {{--{{$user->username}}--}} + {{--</td>--}} + {{--<td>--}} + {{--{{$item->getStatusString()}}--}} + {{--</td>--}} + {{--</tr>--}} + {{--@endforeach--}} + {{--</table>--}} + {{--</div>--}} + </div> + </div> + </div> + </div> - if(statejs==1){ - $('body').append('<h1>There is user</h1>') - } else{ - $('body').append('<button>Login</button>') - } - </script> --> + <!-- </div> --> - </div> + <!-- </div> --> + <!-- </div> --> + + <!-- </div> --> + </div> - </div> + <div class="col col-md-6"> + <!-- <h2>Jadwal Dosen</h2> --> + + + <!-- <h3>Jadwal</h3> + <hr/> --> + <h3>Jadwal</h3> + <hr/> + + <div class="mt-5"> + @php($currenttime = \Carbon\Carbon::now()->toDateString()) + @foreach($mahasiswabimbingan as $item) + @if($item->getHasilBimbingan()->count() > 0) + @php($user = $item->user()) + @php($jadwalbimbingan = \Carbon\Carbon::createFromFormat("Y-m-d H:i:s",$item->gethasilBimbingan()[0]->waktu_bimbingan_selanjutnya)) + @if($jadwalbimbingan >= $currenttime) + <div class="row"> + <div class="col-md-4 text-center" style="border-right: 1px solid grey"> + <i class="fa fa-calendar-check-o mb-2" style="font-size:60px"></i> + <div>{{$jadwalbimbingan->format('d M Y')}}</div> + </div> + <div class="col"> + <div class="row mb-4"> + <div class="col"> + <h5><span class="badge badge-info">Bimbingan</span></h5> + <h4>{{$user->name}} - {{$user->username}}</h4> + <h5> + <span class="badge badge-primary">Tempat: Ruang dosen</span> + <span class="badge badge-primary">Waktu: {{$jadwalbimbingan->format('g:i A')}}</span> + </h5> + </div> + </div> + </div> + </div> + @endif + @endif + @if($item->tesis()->seminarTesis()) + @if(!is_null($item->tesis()->seminarTesis()->hari)) + @php($user = $item->user()) + @php($seminar = $item->tesis()->seminarTesis()) + @php($date = $seminar->hari) + @php($time = $seminar->waktu) + @php($datetimeString = $date." ".$time) + @php($jadwalseminar = \Carbon\Carbon::createFromFormat("Y-m-d H:i:s", $datetimeString)) + @if($jadwalseminar >= $currenttime) + <div class="row"> + <div class="col-md-4 text-center" style="border-right: 1px solid grey"> + <i class="fa fa-calendar-check-o mb-2" style="font-size:60px"></i> + <div>{{$jadwalseminar->format('d M Y')}}</div> + </div> + <div class="col"> + <div class="row mb-4"> + <div class="col"> + <h5><span class="badge badge-success">Seminar Tesis</span></h5> + <h4>{{$user->name}} - {{$user->username}}</h4> + <h5> + <span class="badge badge-primary">Tempat: {{$seminar->tempat}}</span> + <span class="badge badge-primary">Waktu: {{$jadwalseminar->format('g:i A')}}</span> + </h5> + </div> + </div> + </div> + </div> + @endif + @endif + @endif + @endforeach + @foreach($dosen->upcomingSidangAsPenguji1 as $st) + @if($st->tanggal.'T'.$st->waktu >= $currenttime) + <div class="row"> + <div class="col-md-4 text-center" style="border-right: 1px solid grey"> + <i class="fa fa-calendar-check-o mb-2" style="font-size:60px"></i> + <div>{{date("d M Y", strtotime($st->tanggal.'T'.$st->jam.'UTC'))}}</div> + </div> + <div class="col"> + <div class="row mb-4"> + <div class="col"> + <h5><span class="badge badge-warning text-color-white">Sidang Tesis</span></h5> + <h4>{{$user->name}} - {{$user->username}}</h4> + <h6> + Topik: {{$st->tesis->topic}} <br> + Dosen Pembimbing 1 : {{$st->tesis->dosen_pembimbing_1->user->name}} + <br> + @if($st->tesis->dosen_pembimbing_2) + Dosen Pembimbing 2 : {{$st->tesis->dosen_pembimbing_2->user->name}} + @endif + <br> + Dosen Penguji 1 : {{$st->dosen_penguji1->name}} + <br> + Dosen Penguji 2 : {{$st->dosen_penguji2->name}} + </h6> + <h5> + <span class="badge badge-primary">Tempat: {{$st->tempat}}</span> + <span class="badge badge-primary">Waktu: {{date("g:i A",strtotime($st->waktu))}}</span> + </h5> + </div> + </div> + </div> + </div> + @endif + @endforeach + @foreach($dosen->upcomingSidangAsPenguji2 as $st) + @if($st->tanggal.'T'.$st->waktu >= $currenttime) + <div class="row"> + <div class="col-md-4 text-center" style="border-right: 1px solid grey"> + <i class="fa fa-calendar-check-o mb-2" style="font-size:60px"></i> + <div>{{date("d M Y", strtotime($st->tanggal.'T'.$st->jam.'UTC'))}}</div> + </div> + <div class="col"> + <div class="row mb-4"> + <div class="col"> + <h5><span class="badge badge-warning text-color-white">Sidang Tesis</span></h5> + <h4>{{$user->name}} - {{$user->username}}</h4> + <h6> + Topik: {{$st->tesis->topic}} <br> + Dosen Pembimbing 1 : {{$st->tesis->dosen_pembimbing_1->user->name}} + <br> + @if($st->tesis->dosen_pembimbing_2) + Dosen Pembimbing 2 : {{$st->tesis->dosen_pembimbing_2->user->name}} + @endif + <br> + Dosen Penguji 1 : {{$st->dosen_penguji1->name}} + <br> + Dosen Penguji 2 : {{$st->dosen_penguji2->name}} + </h6> + <h5> + <span class="badge badge-primary">Tempat: {{$st->tempat}}</span> + <span class="badge badge-primary">Waktu: {{date("g:i A",strtotime($st->waktu))}}</span> + </h5> + </div> + </div> + </div> + </div> + @endif + @endforeach + </div> - <div id="menu1" class="container tab-pane fade"><br> - <h3>Input nilai Dosen Tesis</h3> - </div> - - <!-- <div id="menu2" class="container tab-pane fade"><br> - <h3>Input Nilai</h3> - <p>Input nilai sidang tesis.</p> - </div> --> - - </div> + + </div> + </div> </div> @endsection diff --git a/resources/views/dosen/list_hasil_bimbingan_dosen.blade.php b/resources/views/dosen/list_hasil_bimbingan_dosen.blade.php index c901c4ac5d17a073d3c9c0ad5505c330f578757b..c0199a628ccf288843ebe8fcd4946132f9f3868f 100644 --- a/resources/views/dosen/list_hasil_bimbingan_dosen.blade.php +++ b/resources/views/dosen/list_hasil_bimbingan_dosen.blade.php @@ -49,6 +49,7 @@ <th></th> </tr> @foreach($hsl_bimbingan as $item) + @if($item->thesis) <tr class="text-center"> <td> {{$loop->iteration}} @@ -121,6 +122,7 @@ </div> </td> </tr> + @endif @endforeach </table> </div> @@ -142,11 +144,17 @@ } for(var i = start; i < chkbox.length; i++){ - if(chkbox[i].checked == true){ + if(chkbox[i].checked){ counter++; - break; } } + + if(counter < chkbox.length-1){ + selectAll.checked = false; + }else{ + selectAll.checked = true; + } + if(counter > 0){ saveButton.classList.remove("disabled"); saveButton.disabled = false; diff --git a/resources/views/edit_user.blade.php b/resources/views/edit_user.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..821f349820c961258150841e6935e3da87d0c5b9 --- /dev/null +++ b/resources/views/edit_user.blade.php @@ -0,0 +1,217 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row justify-content-center"> + <div class="col-md-8"> + <div class="card"> + <div class="card-header">Edit User</div> + + <div class="card-body"> + <form method="POST" action="/user/control/{{$user->username}}"> + {{csrf_field()}} + @if(isset($success)) + @if($success) + <div class="alert alert-success"> + Perubahan berhasil disimpan + </div> + @else + <div class="alert alert-danger"> + Perubahan gagal disimpan + </div> + @endif + @endif + <div class="form-group row"> + <label for="name" class="col-md-4 col-form-label text-md-right">Name</label> + + <div class="col-md-6"> + <input id="name" type="text" class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}" name="name" value="{{$user->name}}" required autofocus> + + @if ($errors->has('name')) + <span class="invalid-feedback"> + <strong>{{ $errors->first('name') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="username" class="col-md-4 col-form-label text-md-right">Username</label> + + <div class="col-md-6"> + <input id="username" type="username" class="form-control{{ $errors->has('username') ? ' is-invalid' : '' }}" name="" value="{{$user->username}}" disabled> + + @if ($errors->has('username')) + <span class="invalid-feedback"> + <strong>{{ $errors->first('username') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="email" class="col-md-4 col-form-label text-md-right">E-Mail Address</label> + + <div class="col-md-6"> + <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ $user->email}}" required> + + @if ($errors->has('email')) + <span class="invalid-feedback"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="phone" class="col-md-4 col-form-label text-md-right">Phone Number</label> + + <div class="col-md-6"> + <input id="phone" type="phone" class="form-control{{ $errors->has('phone') ? ' is-invalid' : '' }}" name="phone" value="{{ $user->phone }}" > + </div> + </div> + + + <div class="form-group row"> + <label for="password" class="col-md-4 col-form-label text-md-right">Password</label> + + <div class="col-md-6"> + <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" optional> + @if ($errors->has('password')) + <span class="invalid-feedback"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="password-confirm" class="col-md-4 col-form-label text-md-right">Confirm Password</label> + + <div class="col-md-6"> + <input id="password-confirm" type="password" class="form-control" name="password_confirmation" optional> + </div> + </div> + <div class="form-group row mb-0"> + <div class="row justify-content-center display-flex width-full"> + <button type="submit" class="btn btn-primary display-flex justify-content-center align-items-center"> + <i class="material-icons font-size-18-px mr-2"> + save + </i> + Simpan + </button> + </div> + </div> + </form> + </div> + </div> + <br> + @if(Auth::user()->isManajer()) + <div class="card"> + <div class="card-header">Edit Mahasiswa</div> + + <div class="card-body"> + @if($mhs = $user->isMahasiswa()) + <form action="/dosen/edit/{{$user->id}}" method="post"> + {{csrf_field()}} + <div class="form-group row"> + <label for="status" class="col-md-4 col-form-label text-md-right">Status</label> + <select class="mr-4" name="status" id="status" > + @foreach($mhs->statusString as $key=>$val) + <option value="{{$key}}">{{$key}} - {{$val}}</option> + @endforeach + </select> + <button class="btn btn-blue">Submit</button> + </div> + </form> + @else + <div class=""> + <div class="row justify-content-center"> + User ini tidak memiliki role Mahasiswa + </div> + <div class="row justify-content-center"> + <form action="/addrole/mahasiswa/{{$user->id}}" method="post"> + {{csrf_field()}} + <button class="btn btn-green justify-content-center align-items-center display-flex"> + <i class="material-icons font-size-18-px">add_circle</i> + Tambah Role Mahasiswa + </button> + </form> + </div> + </div> + @endif + + </div> + </div> + <br> + <div class="card"> + <div class="card-header">Edit Dosen</div> + + <div class="card-body"> + @if($dosen = $user->isDosen()) + User ini memiliki role Dosen + + <form action="/dosen/edit/{{$user->id}}" method="post"> + {{csrf_field()}} + <div class="form-group row"> + <label for="status" class="col-md-4 col-form-label text-md-right">Status</label> + <select class="mr-4" name="status" id="status" > + <option value="1" @if($dosen->status == 1) selected @endif>Dosen Penguji 2</option> + <option value="2" @if($dosen->status == 2) selected @endif>Dosen Penguji 1</option> + <option value="3" @if($dosen->status == 3) selected @endif>Dosen Pembimbing 2</option> + <option value="4" @if($dosen->status == 4) selected @endif>Dosen Pembimbing 1</option> + </select> + <button class="btn btn-blue">Submit</button> + </div> + </form> + @else + <div class=""> + <div class="row justify-content-center"> + User ini tidak memiliki role Dosen + </div> + <div class="row justify-content-center"> + <form action="/addrole/dosen/{{$user->id}}" method="post"> + {{csrf_field()}} + <button class="btn btn-green justify-content-center align-items-center display-flex"> + <i class="material-icons font-size-18-px">add_circle</i> + Tambah Role Dosen + </button> + </form> + </div> + </div> + @endif + </div> + </div> + <br> + <div class="card"> + <div class="card-header">Edit Manajer</div> + + <div class="card-body"> + @if($user->isManajer()) + <div class="row justify-content-center"> + User ini telah memiliki role Manajer + </div> + @else + <div class=""> + <div class="row justify-content-center"> + User ini tidak memiliki role Manajer + </div> + <div class="row justify-content-center"> + {{csrf_field()}} + <form action="/addrole/manajer/{{$user->id}}" method="post"> + <button class="btn btn-green justify-content-center align-items-center display-flex"> + <i class="material-icons font-size-18-px">add_circle</i> + Tambah Role Dosen + </button> + </form> + </div> + </div> + @endif + </div> + </div> + + @endif + </div> + </div> +</div> +@endsection diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index f0100b829b8a25280c84cbbd3cdbd3d86fc48f98..83eba2e5d24ff1df0d0a644bfe7f3bc981decad3 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -43,6 +43,24 @@ {{ Auth::user()->name }} <span class="caret"></span> </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown" id="dropdown"> + @if(Auth::user()->isManajer()) + <a class="dropdown-item text-color-primary" href="/dashboard/manajer"> + Dashboard Manajer + </a> + @endif + @if(Auth::user()->isDosen()) + <a class="dropdown-item text-color-primary" href="/dashboard/dosen"> + Dashboard Dosen + </a> + @endif + @if(Auth::user()->isMahasiswa()) + <a class="dropdown-item text-color-primary" href="/dashboard/mahasiswa"> + Dashboard Manajer + </a> + @endif + <a class="dropdown-item text-color-primary" href="/user/control/{{Auth::user()->username}}"> + Edit User + </a> <a class="dropdown-item text-color-primary" href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();"> diff --git a/resources/views/mahasiswa/daftar_sidang_tesis.blade.php b/resources/views/mahasiswa/daftar_sidang_tesis.blade.php index 88578953c2b5ff054efe869e3d94cf5c630130fa..facee577209e0b7b0fbc55906a9c628db70decb2 100644 --- a/resources/views/mahasiswa/daftar_sidang_tesis.blade.php +++ b/resources/views/mahasiswa/daftar_sidang_tesis.blade.php @@ -1,64 +1,121 @@ @extends('layouts.app') @section('title','Pendaftaran Sidang Tesis') - +@php($user = Auth::user()); +@php($sidangTesis = $user->isMahasiswa()->tesis()->sidangTesis()) @section('content') <div class="container"> + @if(isset($success)) + <div class="alert alert-success display-flex align-items-center"> + <i class="material-icons font-size-18-px">check_circle</i> + Data Berhasil Disimpan + </div> + @endif <h2 class="text-center">Formulir Pendaftaran Sidang Tesis</h2> <br> <div id="form-app"> - <form action="" method="post" id="form-daftar-sidang" > -{{-- {{csrf_field()}}--}} + + <form action="/sidangtesis/mahasiswa/edit/{{$user->username}}" method="post" id="form-daftar-sidang" enctype="multipart/form-data"> + {{csrf_field()}} {{--<input type="hidden" id="id" name="id" value="{{$id}}">--}} <div class="form-group"> <div class="form-group row col-md-12"> <label for="semester-daftar" class="col-md-4 col-form-label text-md-right text-center">Terdaftar pada Semester<sup>*</sup></label> - <input type="text" id="semester_daftar" name="semester_daftar" class="form-control col-md-8 " value="" required> + <input type="text" id="semester_daftar" name="semester_daftar" class="form-control col-md-8 " value="{{$sidangTesis->semester_terdaftar}}" required> </div> <div class="form-group row col-md-12"> <label for="tanggal_seminar_tesis" class="col-md-4 col-form-label text-md-right text-center">Waktu Seminar Tesis<sup>*</sup></label> - <input type="datetime-local" id="tanggal_seminar_tesis" name="tanggal_seminar_tesis" class="form-control col-md-8 " value="" required> + <input type="datetime-local" id="tanggal_seminar_tesis" name="tanggal_seminar_tesis" class="form-control col-md-8 " + @if($sidangTesis->jadwal_seminar) + value="{{date("Y-m-d\TH:i:s", strtotime($sidangTesis->jadwal_seminar))}}" + @endif + required> </div> <div class="form-group row col-md-12"> <label for="" class="col-md-4 col-form-label text-md-right text-center">Dokumen Evaluasi Diri</label> <!--label for="eval_diri" class="col-md-4 col-form-label text-md-right text-center ">Print Out Evaluasi Diri<sup>*</sup></label--> - <input type="file" id="eval_diri" name="eval_diri" class="sr-only"> - <label for="eval_diri" class=""> + <input type="file" id="eval_diri" name="eval_diri" class="sr-only" v-on:change="onFileChange('eval_diri')"> + <label for="eval_diri" id="label_eval_diri" class="display-flex align-items-center justify-content-center justify-content-md-start col-12 col-md-3"> <i class="material-icons md-24">insert_drive_file</i> Upload Evaluasi Diri </label> + <div v-if="eval_diri" class=" col-12 col-md-5 text-center text-md-left"> + @{{eval_diri.name+" ("+humanFileSize(eval_diri.size)+")"}} + </div> + @if($sidangTesis->evaluasi_diri) + <a href="/sidangtesis/download/{{$sidangTesis->evaluasi_diri}}" class="text-color-blue"> + {{basename($sidangTesis->evaluasi_diri)}} + </a> + @endif </div> <div class="form-group row col-md-12"> <label for="" class="col-md-4 col-form-label text-md-right text-center">Draft Makalah</label> - <input type="file" id="draft_makalah" name="draft_makalah" class="sr-only"> - <label for="eval_diri" class=""> + <input type="file" id="draft_makalah" name="draft_makalah" class="sr-only" v-on:change="onFileChange('draft_makalah')"> + <label for="draft_makalah" id="label_draft_makalah" class="display-flex align-items-center justify-content-center justify-content-md-start col-12 col-md-3"> <i class="material-icons md-24">insert_drive_file</i> Upload Draft Makalah </label> + <div v-if="draft_makalah" class=" col-12 col-md-5 text-center text-md-left"> + @{{draft_makalah.name+" ("+humanFileSize(draft_makalah.size)+")"}} + </div> + @if($sidangTesis->draft_makalah) + <a href="/sidangtesis/download/{{$sidangTesis->draft_makalah}}" class="text-color-blue"> + {{basename($sidangTesis->draft_makalah)}} + </a> + @endif </div> <div class="form-group row col-md-12"> <label for="" class="col-md-4 col-form-label text-md-right text-center">Laporan Tesis</label> - <input type="file" id="laporan_tesis" name="laporan_tesis" class="sr-only"> - <label for="laporan_tesis" class=""> + <input type="file" id="laporan_tesis" name="laporan_tesis" class="sr-only" v-on:change="onFileChange('laporan_tesis')"> + <label for="laporan_tesis" id="label_laporan_tesis" class="display-flex align-items-center justify-content-center justify-content-md-start col-12 col-md-3"> <i class="material-icons md-24">insert_drive_file</i> Upload Laporan Tesis </label> + <div v-if="laporan_tesis" class=" col-12 col-md-5 text-center text-md-left"> + @{{laporan_tesis.name+" ("+humanFileSize(laporan_tesis.size)+")"}} + </div> + @if($sidangTesis->laporan_tesis) + <a href="/sidangtesis/download/{{$sidangTesis->evaluasi_diri}}" class="text-color-blue"> + {{basename($sidangTesis->laporan_tesis)}} + </a> + @endif + </div> <div class="form-group row col-md-12"> <label for="" class="col-md-4 col-form-label text-md-right text-center">KSM Semester Terakhir</label> - <input type="file" id="ksm_akhir" name="ksm_akhir" class="sr-only"> - <label for="ksm_akhir" class=""> + <input type="file" id="ksm_akhir" name="ksm_akhir" class="sr-only" v-on:change="onFileChange('ksm_akhir')"> + <label for="ksm_akhir" id="label_ksm_akhir" class="display-flex align-items-center justify-content-center justify-content-md-start col-12 col-md-3"> <i class="material-icons md-24">insert_drive_file</i> Upload KSM Semester Terakhir </label> + + <div v-if="ksm_akhir" class=" col-12 col-md-5 text-center text-md-left"> + @{{ksm_akhir.name+" ("+humanFileSize(ksm_akhir.size)+")"}} + </div> + + @if($sidangTesis->ksm_terakhir) + <a href="/sidangtesis/download/{{$sidangTesis->ksm_terakhir}}" class="text-color-blue"> + {{basename($sidangTesis->ksm_terakhir)}} + </a> + @endif + </div> <div class="form-group row col-md-12"> <label for="" class="col-md-4 col-form-label text-md-right text-center">Form Submit Paper</label> - <input type="file" id="form_paper" name="form_paper" class="sr-only"> - <label for="form_paper" class=""> + <input type="file" id="form_paper" name="form_paper" class="sr-only" v-on:change="onFileChange('form_paper')"> + <label for="form_paper" id="label_form_paper" class="display-flex align-items-center justify-content-center justify-content-md-start col-12 col-md-3"> <i class="material-icons md-24">insert_drive_file</i> Upload Form Submit Paper </label> + <div v-if="form_paper" class=" col-12 col-md-5 text-center text-md-left"> + @{{form_paper.name+" ("+humanFileSize(form_paper.size)+")"}} + </div> + @if($sidangTesis->submit_paper) + <a href="/sidangtesis/download/{{$sidangTesis->submit_paper}}" class="text-color-blue"> + {{basename($sidangTesis->submit_paper)}} + </a> + @endif </div> + </div> </form> @@ -69,4 +126,33 @@ </div> </div> </div> -@endsection \ No newline at end of file +@endsection + + +@section('bottomjs') + <script> + var app = new Vue({ + el: "#form-app", + data: { + eval_diri: null, + draft_makalah: null, + laporan_tesis: null, + ksm_akhir: null, + form_paper: null + }, + methods: { + onFileChange: function(uploader) { + this[uploader] = $("#"+uploader)[0].files[0]; + $("#label_"+uploader).addClass('text-color-green'); + + }, + humanFileSize: function (size) { + var i = Math.floor( Math.log(size) / Math.log(1024) ); + return ( size / Math.pow(1024, i) ).toFixed(2) * 1 + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i]; + } + } + }); + + + </script> +@endsection diff --git a/resources/views/mahasiswa/index.blade.php b/resources/views/mahasiswa/index.blade.php index d707ed5bb85d2c8bc73a07e36376c253c01fe974..daa279c3760fa0e71a44e1d267e0957e5bf43715 100644 --- a/resources/views/mahasiswa/index.blade.php +++ b/resources/views/mahasiswa/index.blade.php @@ -73,6 +73,16 @@ </div> @endif + @if($mahasiswa->status >= \App\Mahasiswa::STATUS_LULUS) + <div class="progress progress_4"> + <div class="bar done"></div> + </div> + @else + <div class="progress progress_4"> + <div class="bar"></div> + </div> + @endif + <div class="level level_1 level_reached"><p>1</p></div> @if($mahasiswa->status >= \App\Mahasiswa::STATUS_LULUS_SEMINAR_TOPIK || @@ -91,12 +101,18 @@ <div class="level level_3"><p>3</p></div> @endif - @if($mahasiswa->status >= \App\Mahasiswa::STATUS_LULUS) + @if($mahasiswa->status >= \App\Mahasiswa::STATUS_SIAP_SIDANG_TESIS) <div class="level level_4 level_reached"><p>4</p></div> @else <div class="level level_4"><p>4</p></div> @endif + @if($mahasiswa->status >= \App\Mahasiswa::STATUS_LULUS) + <div class="level level_5 level_reached"><p>5</p></div> + @else + <div class="level level_5"><p>5</p></div> + @endif + <div class="nav" role="tablist"> <a class="nav-link" data-toggle="tab" href="#step1"> <div class="level_text level1_text"> @@ -148,6 +164,20 @@ </div> </a> @endif + + @if($mahasiswa->status >= \App\Mahasiswa::STATUS_LULUS) + <a class="nav-link" data-toggle="tab" href="#step5"> + <div class="level_text level5_text"> + <p>Lulus</p> + </div> + </a> + @else + <a class="nav-link disabled" data-toggle="tab" href="#step5"> + <div class="level_text level5_text"> + <p>Lulus</p> + </div> + </a> + @endif </div> </div> </div> @@ -362,15 +392,26 @@ <a class="btn btn-outline-dark" href="/hasilbimbingan/mahasiswa" role="button">Lihat Hasil Bimbingan</a> </div> - @if($mahasiswa->status >= \App\Mahasiswa::STATUS_SIAP_SIDANG_TESIS) - <div id="step4" class="container tab-pane fade active show"> + @if($mahasiswa->status >= \App\Mahasiswa::STATUS_LULUS_SEMINAR_TESIS) + <div id="step4" class="container tab-pane fade active show mt-4"> @else - <div id="step4" class="container tab-pane fade"> + <div id="step4" class="container tab-pane fade mt-4"> @endif <h3 class="header">Sidang Tesis</h3> <p>Anda dapat mendaftar sidang tesis.</p> <a class="btn btn-blue" href="/sidangtesis/daftar" role="button">Daftar Sidang Tesis</a> </div> + + @if($mahasiswa->status >= \App\Mahasiswa::STATUS_LULUS) + <div id="step5" class="container tab-pane fade active show mt-4"> + @else + <div id="step5" class="container tab-pane fade mt-4"> + @endif + <h3 class="header">Lulus</h3> + <p>Berikut ini hasil akhir Tesis Anda.</p> + <p>Lorem ipsum</p> + {{--<a class="btn btn-blue" href="/sidangtesis/daftar" role="button">Daftar Sidang Tesis</a>--}} + </div> </div> diff --git a/resources/views/manajer/detail_mahasiswa_control.blade.php b/resources/views/manajer/detail_mahasiswa_control.blade.php index 2ba87e23c5331d84a1b04a8bcbf97eab26649a24..193fc9a97123e0d23729c8bfc9197bafb2c9cedd 100644 --- a/resources/views/manajer/detail_mahasiswa_control.blade.php +++ b/resources/views/manajer/detail_mahasiswa_control.blade.php @@ -9,6 +9,9 @@ @php($proposal= $mahasiswa->proposal()) @php($tesis = $mahasiswa->tesis()) @php($topik = $mahasiswa->getApprovedTopic()) + @if($tesis) + @php($sidangTesis = $tesis->sidangTesis()) + @endif <div class="container detail-mahasiswa-control-page"> <div class="row"> <div class="col-md-4"> @@ -41,6 +44,319 @@ </div> </div> <div class="col-md-8"> + @if(isset($sidangTesis->dosen_penguji_1) && isset($sidangTesis->dosen_penguji_2)) + <div class="mb-2"> + <h3> + Penilaian Sidang Tesis + </h3> + <div> + <table class="table text-center"> + <tr> + <th></th> + <th>Substansi</th> + <th>Buku Tesis</th> + <th>Presentasi dan Tanya Jawab</th> + </tr> + <tr> + <th>Penguji 1</th> + <td>{{$sidangTesis->nilai_dosen_penguji_1_utama}}</td> + <td>{{$sidangTesis->nilai_dosen_penguji_1_penting}}</td> + <td>{{$sidangTesis->nilai_dosen_penguji_1_pendukung}}</td> + <td> + <form action="/sidangtesis/nilai/penguji1/reset/{{$user->username}}" method="post"> + {{csrf_field()}} + <button class="btn btn-blue align-items-center display-flex"> + <i class="material-icons pencil md-12 font-size-18-px">delete</i> + Reset + </button> + </form> + </tr> + <tr> + <th>Penguji 2</th> + <td>{{$sidangTesis->nilai_dosen_penguji_2_utama}}</td> + <td>{{$sidangTesis->nilai_dosen_penguji_2_penting}}</td> + <td>{{$sidangTesis->nilai_dosen_penguji_2_pendukung}}</td> + <td> + <form action="/sidangtesis/nilai/penguji2/reset/{{$user->username}}" method="post"> + {{csrf_field()}} + <button class="btn btn-blue align-items-center display-flex"> + <i class="material-icons pencil md-12 font-size-18-px">delete</i> + Reset + </button> + </form> + </td> + </tr> + <tr> + <th>Pembimbing</th> + <td>{{$sidangTesis->nilai_dosen_pembimbing_utama}}</td> + <td>{{$sidangTesis->nilai_dosen_pembimbing_penting}}</td> + <td>{{$sidangTesis->nilai_dosen_pembimbing_pendukung}}</td> + <td> + <form action="/sidangtesis/nilai/pembimbing/reset/{{$user->username}}" method="post"> + {{csrf_field()}} + <button class="btn btn-blue align-items-center display-flex"> + <i class="material-icons pencil md-12 font-size-18-px">delete</i> + Reset + </button> + </form> + </td> + </tr> + <tr> + <th>Dosen Tesis</th> + <td>{{$sidangTesis->nilai_dosen_kelas_utama}}</td> + <td>-</td> + <td>-</td> + <td> + <form action="/sidangtesis/nilai/kelas/reset/{{$user->username}}" method="post"> + {{csrf_field()}} + <button class="btn btn-blue align-items-center display-flex"> + <i class="material-icons pencil md-12 font-size-18-px">delete</i> + Reset + </button> + </form> + </td> + </tr> + <tr> + <th> Nilai Akhir </th> + <td colspan="4"> + <b> + @if($sidangTesis->nilai=="E") + <font color="red"> + TIDAK LULUS + @else + <font color="green"> + {{$sidangTesis->nilai}} + @endif + </font> + </b> + </td> + </tr> + </table> + </div> + </div> + @endif + @if(isset($sidangTesis)) + <div class="mb-2"> + <h3> + Sidang Tesis + </h3> + <div> + <form action="/sidangtesis/manajer/edit/{{$user->username}}" method="post" id="form-hsl-bimbingan" > + {{csrf_field()}} + <div class="form-group"> + <div class="form-group row col-md-12"> + <label for="name" class="col-md-4 col-form-label text-md-right text-center ">Nama<sup>*</sup></label> + <input type="text" name="name" id="name" class="col-md-8 form-control" value="{{$user->name}}" required disabled> + </div> + <div class="form-group row col-md-12"> + <label for="nim" class="col-md-4 col-form-label text-md-right text-center">NIM<sup>*</sup></label> + <input type="text" name="nim" id="nim" class="col-md-8 form-control" value="{{$user->username}}" required disabled> + </div> + <div class="form-group row col-md-12"> + <label for="nim" class="col-md-4 col-form-label text-md-right text-center">Opsi<sup>*</sup></label> + <input type="text" name="nim" id="nim" class="col-md-8 form-control" value="{{$tesis->keilmuan}}" required disabled> + </div> + + <div class="form-group row col-md-12"> + <label for="judul" class="col-md-4 col-form-label text-md-right text-center ">Judul Tesis<sup>*</sup></label> + <input type="text" id="judul" name="judul" class="col-md-8 form-control" value="{{$mahasiswa->tesis()->topic}}" required disabled> + </div> + + <div class="form-group"> + <div class="form-group row col-md-12"> + <label for="semester-daftar" class="col-md-4 col-form-label text-md-right text-center">Terdaftar pada Semester<sup>*</sup></label> + <div class="display-flex align-items-center"> + {{$sidangTesis->semesterTerdaftar}} + </div> + </div> + <div class="form-group row col-md-12"> + <label for="tanggal_seminar_tesis" class="col-md-4 col-form-label text-md-right text-center">Waktu Seminar Tesis<sup>*</sup></label> + <div class="display-flex align-items-center"> + + @if($sidangTesis->jadwal_seminar) + {{date("d-m-Y ", strtotime($sidangTesis->jadwal_seminar))}} + @endif + </div> + + </div> + <div class="form-group row col-md-12"> + <label for="" class="col-md-4 col-form-label text-md-right text-center">Dokumen Evaluasi Diri</label> + <div class="display-flex align-items-center"> + @if($sidangTesis->evaluasi_diri) + <a href="/sidangtesis/download/{{$sidangTesis->evaluasi_diri}}" class="text-color-blue"> + {{basename($sidangTesis->evaluasi_diri)}} + </a> + @else + Belum Mengumpulkan + @endif + </div> + </div> + <div class="form-group row col-md-12"> + <label for="" class="col-md-4 col-form-label text-md-right text-center">Draft Makalah</label> + <div class="display-flex align-items-center"> + + @if($sidangTesis->draft_makalah) + <a href="/sidangtesis/download/{{$sidangTesis->draft_makalah}}" class="text-color-blue"> + {{basename($sidangTesis->draft_makalah)}} + </a> + @else + Belum Mengumpulkan + @endif + </div> + </div> + <div class="form-group row col-md-12"> + <label for="" class="col-md-4 col-form-label text-md-right text-center">Laporan Tesis</label> + <div class="display-flex align-items-center"> + + @if($sidangTesis->laporan_tesis) + <a href="/sidangtesis/download/{{$sidangTesis->evaluasi_diri}}" class="text-color-blue"> + {{basename($sidangTesis->laporan_tesis)}} + </a> + @else + Belum Mengumpulkan + @endif + </div> + + </div> + <div class="form-group row col-md-12"> + <label for="" class="col-md-4 col-form-label text-md-right text-center">KSM Semester Terakhir</label> + <div class="display-flex align-items-center"> + + @if($sidangTesis->ksm_terakhir) + <a href="/sidangtesis/download/{{$sidangTesis->ksm_terakhir}}" class="text-color-blue"> + {{basename($sidangTesis->ksm_terakhir)}} + </a> + @else + Belum Mengumpulkan + @endif + </div> + + </div> + <div class="form-group row col-md-12"> + <label for="" class="col-md-4 col-form-label text-md-right text-center">Form Submit Paper</label> + <div class="display-flex align-items-center"> + @if($sidangTesis->submit_paper) + <a href="/sidangtesis/download/{{$sidangTesis->submit_paper}}" class="text-color-blue"> + {{basename($sidangTesis->submit_paper)}} + </a> + @else + Belum Mengumpulkan + @endif + </div> + </div> + + </div> + + + + <div class="form-group row col-md-12"> + <label for="haritgl" class="col-md-4 col-form-label text-md-right text-center"> + Tanggal + </label> + <input type="date" id="haritgl" name="haritgl" class="col-md-8 form-control" value="{{$sidangTesis->tanggal}}" > + </div> + + <div class="form-group row col-md-12"> + <label for="waktu" class="col-md-4 col-form-label text-md-right text-center"> + Waktu + </label> + <input type="time" id="haritgl" name="waktu" class="col-md-8 form-control" value="{{$sidangTesis->jam}}"> + </div> + + <div class="form-group row col-md-12"> + <label for="tempat" class="col-md-4 col-form-label text-md-right text-center"> + Tempat + </label> + <input type="string" id="tempat" name="tempat" class="col-md-8 form-control" value="{{$sidangTesis->tempat}}"> + </div> + <div class="row offset-md-2 justify-content-center"> + <table width="300" class="table table-hover" style="width: 60%"> + <tr> + <th colspan="3"> + Ajuan Dosen Penguji + </th> + <th> + Status + </th> + </tr> + <tr> + <td colspan="3"> + {{$sidangTesis->ajuan_penguji_1->name}} + </td> + <td> + {!! $sidangTesis->approval_status_string($sidangTesis->approval_penguji1) !!} + </td> + </tr> + <tr> + <td colspan="3"> + {{$sidangTesis->ajuan_penguji_2->name}} + </td> + <td> + {!! $sidangTesis->approval_status_string($sidangTesis->approval_penguji2) !!} + </td> + </tr> + + <tr> + <td colspan="3"> + {{$sidangTesis->ajuan_penguji_3->name}} + </td> + <td> + {!! $sidangTesis->approval_status_string($sidangTesis->approval_penguji3) !!} + </td> + </tr> + + </table> + </div> + + <div class="form-group row col-md-12"> + <label for="tempat" class="col-md-4 col-form-label text-md-right text-center"> + Dosen Penguji 1 + </label> + <select name="dosen_penguji1" class="form-control col-md-8" id=""> + @foreach(App\Dosen::getListDosenPenguji() as $item) + <option value="{{$item->id}}" + @if($sidangTesis->dosen_penguji_1 == $item->id) + selected + @endif + + > + {{$item->user->name}} + + </option> + @endforeach + </select> + </div> + <div class="form-group row col-md-12"> + + <label for="tempat" class="col-md-4 col-form-label text-md-right text-center"> + Dosen Penguji 2 + </label> + <select name="dosen_penguji2" class="form-control col-md-8" id=""> + @foreach(App\Dosen::getListDosenPenguji() as $item) + <option value="{{$item->id}}" + @if($sidangTesis->dosen_penguji_2 == $item->id) + selected + @endif + > + {{$item->user->name}} + + </option> + @endforeach + </select> + </div> + + </div> + + <div class="justify-content-center row"> + <button class="btn btn-blue align-items-center display-flex"> + <i class="material-icons pencil md-12 font-size-18-px">save</i> + Simpan + </button> + </div> + </form> + </div> + </div> + @endif @if($mahasiswa->status >= \App\Mahasiswa::STATUS_SIAP_SEMINAR_TESIS || $mahasiswa->status <= \App\Mahasiswa::STATUS_GAGAL_SEMINAR_TESIS) @php($seminarTesis = $mahasiswa->tesis()->seminarTesis()) @@ -130,7 +446,7 @@ </div> <div class="justify-content-center row"> - <button class="btn btn-primary align-items-center display-flex"> + <button class="btn btn-blue align-items-center display-flex"> <i class="material-icons pencil md-12 font-size-18-px">save</i> Simpan </button> diff --git a/resources/views/manajer/index.blade.php b/resources/views/manajer/index.blade.php index 775b4cfc5ded82b50e0a57b1a2ae791c537bb017..cb7b29ea1025c173252b55267eed28725ccc4759 100644 --- a/resources/views/manajer/index.blade.php +++ b/resources/views/manajer/index.blade.php @@ -59,7 +59,7 @@ </div> <div class="col-xs-6 col-lg-3 text-center"> - <a href="/kontrolpanel" class="thumbnail"> + <a href="/admin/panel" class="thumbnail"> <div> <i class="material-icons icon-style">build</i> </div> @@ -67,6 +67,16 @@ Kontrol Panel </a> </div> + + <div class="col-xs-6 col-lg-3 text-center"> + <a href="/penjadwalan" class="thumbnail"> + <div> + <i class="material-icons icon-style">schedule</i> + </div> + + Pengaturan Jadwal Seminar dan Sidang + </a> + </div> </div> </div> diff --git a/resources/views/manajer/penjadwalan.blade.php b/resources/views/manajer/penjadwalan.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..478d6c3d31c0dd8481bf35a20dad9ed1af841435 --- /dev/null +++ b/resources/views/manajer/penjadwalan.blade.php @@ -0,0 +1,160 @@ +@extends('layouts.app') +@section('title', 'Daftar Nilai Akhir Mahasiswa') + +@section('content') + <div class="container"> + <h3>Penjadwalan Seminar dan Sidang</h3> + <ul class="nav nav-tabs" role="tablist"> + <li class="nav-item"> + <a class="nav-link active" data-toggle="tab" href="#seminar-topik">Seminar Topik</a> + </li> + <li class="nav-item"> + <a class="nav-link" data-toggle="tab" href="#seminar-proposal">Seminar Proposal</a> + </li> + </ul> + <div class="tab-content"> + <div id="seminar-topik" class="container tab-pane active"> + <form action="/penjadwalan/seminartopik" method="post"> + {{csrf_field()}} + <div class="row justify-content-center"> + <div class="add"> + <button type="submit" class="btn btn-blue" id="save">Simpan</button> + </div> + </div> + <div class="row justify-content-center table-x"> + <table class="mahasiswa-control-table table table-hover"> + <thead> + <tr class="text-center"> + <th> + No + </th> + <th> + NIM + </th> + <th> + Nama + </th> + <th> + Topik + </th> + <th> + Waktu + </th> + <th></th> + </tr> + </thead> + + @foreach($topik as $item) + <tr class="text-center"> + <td> + {{$loop->iteration}} + </td> + <td> + {{$item->topic->mahasiswa->user()->username}} + </td> + <td> + {{$item->topic->mahasiswa->user()->name}} + </td> + <td> + {{$item->topic->judul}} + </td> + <td> + <input type="hidden" id="id{{$item->topic->mahasiswa_id}}" name="id{{$item->topic->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->topic->mahasiswa_id}}"> + <input type="hidden" id="tp{{$item->topic->mahasiswa_id}}" name="tp{{$item->topic->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->topic_id}}"> + <input type="datetime-local" id="sch{{$item->topic->mahasiswa_id}}" name="sch{{$item->topic->mahasiswa_id}}" class="form-control col-lg-12 " value=""> + </td> + </tr> + @endforeach + @foreach($seminar_topik as $item) + <tr class="text-center"> + <td> + {{$loop->iteration}} + </td> + <td> + {{$item->topik->topic->mahasiswa->user()->username}} + </td> + <td> + {{$item->topik->topic->mahasiswa->user()->name}} + </td> + <td> + {{$item->topik->topic->judul}} + </td> + <td> + {{$item->schedule}} + </td> + </tr> + @endforeach + </table> + </div> + </form> + </div> + + <div id="seminar-proposal" class="container tab-pane"> + <form action="/penjadwalan/seminarproposal" method="post"> + {{csrf_field()}} + <div class="row justify-content-center"> + <div class="add"> + <button type="submit" class="btn btn-blue" id="save">Simpan</button> + </div> + </div> + <div class="row justify-content-center table-x"> + <table class="mahasiswa-control-table table table-hover"> + <thead> + <tr class="text-center"> + <th> + No + </th> + <th> + NIM + </th> + <th> + Nama + </th> + <th> + Waktu + </th> + <th></th> + </tr> + </thead> + + @foreach($proposal as $item) + <tr class="text-center"> + <td> + {{$loop->iteration}} + </td> + <td> + {{$item->mahasiswa->user()->username}} + </td> + <td> + {{$item->mahasiswa->user()->name}} + </td> + <td> + <input type="hidden" id="id{{$item->mahasiswa_id}}" name="id{{$item->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->mahasiswa_id}}"> + <input type="hidden" id="tp{{$item->mahasiswa_id}}" name="tp{{$item->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->id}}"> + <input type="datetime-local" id="sch{{$item->mahasiswa_id}}" name="sch{{$item->mahasiswa_id}}" class="form-control col-lg-12 " value=""> + </td> + </tr> + @endforeach + @foreach($seminar_proposal as $item) + <tr class="text-center"> + <td> + {{$loop->iteration}} + </td> + <td> + {{$item->mahasiswa->user()->username}} + </td> + <td> + {{$item->mahasiswa->user()->name}} + </td> + <td> + {{$item->schedule}} + </td> + </tr> + @endforeach + </table> + </div> + </form> + </div> + </div> + </div> +@endsection \ No newline at end of file diff --git a/resources/views/manajer/user_management.blade.php b/resources/views/manajer/user_management.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..46743570dbb6be97a6cd4f410b9a3e51f4ed9a64 --- /dev/null +++ b/resources/views/manajer/user_management.blade.php @@ -0,0 +1,46 @@ +@extends('layouts.app') +@section('title', 'Topic') + + +@section('content') + <div class="container"> + <h3>Daftar Pengguna Aktif</h3> + <div class="row justify-content-center table-x"> + <table class="table"> + <tr> + <th> + ID. + </th> + <th> + Username + </th> + <th> + Name + </th> + <th> + Role + </th> + <th> + Action + </th> + </tr> + @foreach(App\User::get() as $item) + <tr> + <td>{{$item->id}}</td> + <td>{{$item->username}}</td> + <td>{{$item->name}}</td> + <td>@if($item->isMahasiswa())Mahasiswa <br>@endif @if($item->isDosen()) Dosen <br> @endif @if($item->isManajer()) Manajer @endif</td> + <td> + <form action="/user/control/{{$item->username}}"> + <button class="btn btn-blue display-flex justify-content-center align-items-center"> + <i class="material-icons font-size-18px">edit</i> + Edit + </button> + </form> + </td> + </tr> + @endforeach + </table> + </div> + </div> +@endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index e992ca0aa11885333b094cc34bed14eb48a1a48b..a1cb1aa07075ea184ce5755c8c7e7c3122096776 100644 --- a/routes/web.php +++ b/routes/web.php @@ -24,6 +24,14 @@ Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm' Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email'); Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm'); Route::post('password/reset', 'Auth\ResetPasswordController@reset'); +Route::get('admin/panel', 'UserController@index'); +Route::get('user/control/{uname}', 'UserController@show'); +Route::post('user/control/{uname}', 'UserController@save'); +Route::post('addrole/dosen/{uname}', 'UserController@addDosenRole'); +Route::post('addrole/mahasiswa/{uname}', 'UserController@addMahasiswaRole'); +Route::post('addrole/manajer/{uname}', 'UserController@addManajerRole'); +Route::post('dosen/edit/{id}', 'DosenController@edit'); + Route::get('register','Auth\RegisterController@showForm')->name('register'); Route::post('register','Auth\RegisterController@registerUser')->name('registerPost'); @@ -58,7 +66,7 @@ Route::post('/proposal/upload','ProposalController@upload'); Route::get('/proposal/download/{id}/{filename}','ProposalController@download'); Route::post('/proposal/penerimaan','ProposalController@approval')->name('proposal-penerimaan'); -Route::get('/dashboard/dosen','DosenController@showMahasiswa'); +// Route::get('/dashboard/dosen','DosenController@showMahasiswa'); Route::get('/hasilbimbingan/mahasiswa','HasilBimbinganController@showListHasilBimbingan'); Route::post('/hasilbimbingan/mahasiswa','HasilBimbinganController@getBimbinganID'); Route::get('/hasilbimbingan/tambah','HasilBimbinganController@showFormTambahHasilBimbingan'); @@ -81,5 +89,22 @@ Route::post('/seminartesis/nilai/{id}', 'SeminarTesisController@nilaiSeminarTesi Route::get('/sidangtesis/daftar','SidangTesisController@showFormDaftarSidang'); Route::get('/sidangtesis/create/{id}','SidangTesisController@create'); Route::post('/sidangtesis/dosen/edit/{id}','SidangTesisController@dosenEdit'); +Route::post('/sidangtesis/nilai/{id}','SidangTesisController@nilaiSidangTesis'); + +Route::get('/penjadwalan','PenjadwalanController@showPenjadwalanPage'); +Route::post('/penjadwalan/seminartopik','PenjadwalanController@penentuanJadwalSeminarTopikBatch'); +Route::post('/penjadwalan/seminarproposal','PenjadwalanController@penentuanJadwalSeminarProposalBatch'); +Route::post('/penjadwalan/seminartesis','PenjadwalanController@penentuanJadwalSeminarTesisBatch'); +Route::post('/penjadwalan/sidangtesis','PenjadwalanController@penentuanJadwalSidangTesisBatch'); + +Route::post('/sidangtesis/mahasiswa/edit/{id}', 'SidangTesisController@mahasiswaEdit'); +Route::post('/sidangtesis/manajer/edit/{id}', 'SidangTesisController@manajerEdit'); +Route::get('/sidangtesis/download/{id}/{filename}', 'SidangTesisController@downloadFile'); + +Route::post('/sidangtesis/nilai/penguji1/reset/{id}', 'SidangTesisController@resetNilaiPenguji1'); +Route::post('/sidangtesis/nilai/penguji2/reset/{id}', 'SidangTesisController@resetNilaiPenguji2'); +Route::post('/sidangtesis/nilai/pembimbing/reset/{id}', 'SidangTesisController@resetNilaiPembimbing'); +Route::post('/sidangtesis/nilai/kelas/reset/{id}', 'SidangTesisController@resetNilaiKelas'); +Route::post('/sidangtesis/dosenuji/approve/{id}', 'SidangTesisController@dosenPengujiApprove');