From 9bda449de6c1462a0733b233be02ca9ee5606407 Mon Sep 17 00:00:00 2001 From: fikyb Date: Thu, 7 Mar 2024 18:13:09 +0700 Subject: [PATCH 1/3] layanan DPA DPU done --- .../LayananPengajuanDpuDpaController.php | 271 ++++++++++++++++-- app/Http/Controllers/UserController.php | 2 +- app/Jobs/layananPengajuanDpuDpaJob.php | 94 ++++++ composer.json | 1 + composer.lock | 62 +++- config/app.php | 2 +- database/seeders/MahasiswaSeeder.php | 20 ++ database/seeders/UserRoleSeeder.php | 15 +- resources/views/layanan-dpudpa/ettd.blade.php | 171 +++++++++++ .../views/layanan-dpudpa/index.blade.php | 79 ++++- .../views/layout/navbars/footer.blade.php | 2 +- routes/web.php | 51 ++-- 12 files changed, 708 insertions(+), 62 deletions(-) create mode 100644 app/Jobs/layananPengajuanDpuDpaJob.php create mode 100644 database/seeders/MahasiswaSeeder.php create mode 100644 resources/views/layanan-dpudpa/ettd.blade.php diff --git a/app/Http/Controllers/LayananPengajuanDpuDpaController.php b/app/Http/Controllers/LayananPengajuanDpuDpaController.php index 342adf0..3ee411a 100644 --- a/app/Http/Controllers/LayananPengajuanDpuDpaController.php +++ b/app/Http/Controllers/LayananPengajuanDpuDpaController.php @@ -2,15 +2,21 @@ namespace App\Http\Controllers; +use App\Jobs\layananPengajuanDpuDpaJob; + use App\Models\Mahasiswa; use App\Models\PengajuanDpuDpa; use App\Models\User; +use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; +use PhpParser\Node\Expr\Cast\Object_; +use Spatie\Permission\Models\Role; class LayananPengajuanDpuDpaController extends Controller { +//done public function index(){ $data = PengajuanDpuDpa:: select('pengajuan_dpu_dpas.*', @@ -25,10 +31,54 @@ public function index(){ ->get(); return view('layanan-dpudpa.index',['title' => 'Pengajuan DPU/DPA | Admin Dashboard','data' => $data]); } +//done public function tambah(){ $dosen = User::role('Dosen')->get(); return view('layanan-dpudpa.tambah',['dosen'=>$dosen]); } + +//done +public function terima(Request $request){ + $id = $request->id; + $countcaseid = PengajuanDpuDpa::where('updated_at','<=',Carbon::today())->count(); + $caseid = "LS".date_format(date_create(),"ymd").$countcaseid+1; + + $cekData = PengajuanDpuDpa::where('caseid',$caseid)->first(); + $data = PengajuanDpuDpa::where('id',$id)->first(); + //cek apakah ada caseid yang sama sebelum disave + if(!is_null($cekData)){ + $data->updated_at = Carbon::now(); + $data->save(); + return redirect()->route('layanan-dpudpa.index')->with('error','Gagal simpan Data, Cek kembali Detail Data yang akan diterima'); + } + //save CASEID dan kirim email + + $data->caseid = $caseid; + $data->ttd_operator = Carbon::now(); + if($data->save()){ + $data_job = [ + [ + 'jenis' => 'mahasiswa', + 'id' => $id, + ], + [ + 'jenis' => 'dpu', + 'id' => $id, + ], + [ + 'jenis' => 'dpa', + 'id' => $id, + ], + ]; + foreach($data_job as $item){ + dispatch(new layananPengajuanDpuDpaJob($item)); + } + return redirect()->route('layanan-dpudpa.index')->with('success','Data Berhasil Disimpan, Email Akan Dikirimkan ke Mahasiswa, DPU dan DPA'); + } + +} + +//done public function store(Request $request){ $request->validate([ @@ -52,41 +102,202 @@ public function store(Request $request){ 'file_transkrip.mimes'=>'Format File Bukan PDF, Cek Ulang file anda', 'file_transkrip.max'=>'Ukuran File Anda lebih dari 4Mb, Cek Ulang File anda', ]); + //Cek Apakah Data Mahasiswa Tersebut sudah ada, jika ada maka diminta untuk menggunakan fitur cari + $mahasiswas_id = Mahasiswa::where('nim',$request->nim)->first(); + if(!is_null($mahasiswas_id)){ + return redirect()->route('layanan-dpudpa.tambah')->with('error','Data Anda Sudah Ada, Gunakan Fitur Cari'); + } + $data_mhs['nim'] = $request->nim; + $data_mhs['nama'] = $request->nama; + $data_mhs['nomor_hp'] = $request->nomor_hp; + $data_mhs['email'] = $request->email; + $data_mhs['judul_seminar_proposal'] = $request->judul_seminar_proposal; + $data_mhs['bagian'] = $request->bagian; + $data_mhs['dosen_dpu_id'] = $request->dosen_dpu; + $data_mhs['dosen_dpa_id'] = $request->dosen_dpa; + //set default to 0 + $data_mhs['dosen_penguji1_id'] = 1; + $data_mhs['dosen_penguji2_id'] = 1; + $data_mhs['judul_skripsi_id'] = '-'; + $data_mhs['judul_skripsi_en'] = '-'; + $data_mhs['judul_jurnal'] = '-'; + $data_mhs['judul_artikel'] = '-'; + + //set penyimpanan file $file_transkrip = $request->file('file_transkrip'); $file_transkrip_name = 'LS_'.str_replace(' ', '_',$file_transkrip->getClientOriginalName()); $path = $request->nim.'/'.$file_transkrip_name; - //jika berhasil save file maka data mhs akan disimpan, dan pengajuan akan diisi - if(Storage::disk('public')->put($path, file_get_contents($file_transkrip))){ - - $data_mhs['nim'] = $request->nim; - $data_mhs['nama'] = $request->nama; - $data_mhs['nomor_hp'] = $request->nomor_hp; - $data_mhs['email'] = $request->email; - $data_mhs['judul_seminar_proposal'] = $request->judul_seminar_proposal; - $data_mhs['bagian'] = $request->bagian; - $data_mhs['dosen_dpu_id'] = $request->dosen_dpu; - $data_mhs['dosen_dpa_id'] = $request->dosen_dpa; - - //set default to - - $data_mhs['dosen_penguji1_id'] = 1; - $data_mhs['dosen_penguji2_id'] = 1; - $data_mhs['judul_skripsi_id'] = '-'; - $data_mhs['judul_skripsi_en'] = '-'; - $data_mhs['judul_jurnal'] = '-'; - $data_mhs['judul_artikel'] = '-'; - - - if(Mahasiswa::create($data_mhs)){ - $mahasiswas_id = Mahasiswa::where('nim',$request->nim)->first(); - $data_dpudpa['mahasiswas_id'] = $mahasiswas_id->id; - $data_dpudpa['bukti_transkrip_nilai'] = $file_transkrip_name; - PengajuanDpuDpa::create($data_dpudpa); - return redirect()->route('layanan-dpudpa.tambah')->with('success','Sukses Tambah Data, Silahkan Menunggu Email Konfirmasi setelah disetujui Oleh Operator'); - } - return redirect()->route('layanan-dpudpa.tambah')->with('error','Gagal Tambah data, Cek kembali data yang anda masukkan'); + //jika berhasil save file dan save data mhs maka pengajuan akan diisi + if(Storage::disk('public')->put($path, file_get_contents($file_transkrip)) && Mahasiswa::create($data_mhs)){ + $mahasiswas_id = Mahasiswa::where('nim',$request->nim)->first(); + $data_dpudpa['mahasiswas_id'] = $mahasiswas_id->id; + $data_dpudpa['bukti_transkrip_nilai'] = $file_transkrip_name; + PengajuanDpuDpa::create($data_dpudpa); + return redirect()->route('layanan-dpudpa.tambah')->with('success','Sukses Tambah Data, Silahkan Menunggu Email Konfirmasi setelah disetujui Oleh Operator'); + } + return redirect()->route('layanan-dpudpa.tambah')->with('error','Gagal Tambah data, Cek kembali data yang anda masukkan'); +} + +//done +public function destroy(Request $request){ + $id = $request->id; + //cari data dan kirim notif sebelum dihapus + $data = PengajuanDpuDpa::where('pengajuan_dpu_dpas.id',$id) + ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id') + ->first(); + $data_job = [ + 'jenis' => 'penolakan', + 'nama' => $data->nama, + 'email' => $data->email, + 'created_at' => $data->created_at, + 'alasan' => $request->alasan, + ]; + $path = $data->nim."/".$data->bukti_transkrip_nilai; + //hapus file yang diupload mahasiswa + if(Storage::disk('public')->exists($path)){ + Storage::disk('public')->delete($path); + //hapus data pengajuan mahasiswa + return redirect()->route('layanan-dpudpa.index')->with('error','Gagal Hapus Data, File Mahasiswa Yang akan dihapus tidak ditemukan'); + } + $dataDelete = PengajuanDpuDpa::findOrFail($id); + + //kirim notifikasi jika data berhasil dihapus + if($dataDelete->delete()){ + dispatch(new layananPengajuanDpuDpaJob($data_job)); + return redirect()->route('layanan-dpudpa.index')->with('success','Permintaan Sudah Diproses, Email akan segera dikirim ke penerima'); + } + return redirect()->route('layanan-dpudpa.index')->with('error','Gagal Hapus Data, coba cek data yang akan dihapus lalu coba lagi!'); +} + +public function ettd($url, $caseid){ + $role_untuk_ettd = ['dpu','dpa','kombi']; + $data = PengajuanDpuDpa::where('caseid','=',$caseid) + ->select('pengajuan_dpu_dpas.id', + 'pengajuan_dpu_dpas.caseid', + 'mahasiswas.nama', + 'mahasiswas.nim', + 'mahasiswas.judul_seminar_proposal', + 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar', + 'dosen_dpa.nama_gelar as dosen_dpa_nama_gelar', + ) + ->join('mahasiswas','pengajuan_dpu_dpas.mahasiswas_id','=','mahasiswas.id') + ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id') + ->join('users as dosen_dpa','mahasiswas.dosen_dpa_id','=','dosen_dpa.id') + ->first(); + if(in_array($url, $role_untuk_ettd) && !is_null($data)){ + //jika URL DPU maka render ini + if($url=='dpu'){ + $jenis = 'Dosen Pembimbing Utama'; + return view('layanan-dpudpa.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data]); + } + //jika URL DPA maka render ini + elseif($url=='dpa'){ + $jenis = 'Dosen Pembimbing Anggota'; + return view('layanan-dpudpa.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data]); + } + //jika URL Kombi maka render ini + elseif($url=='kombi'){ + $jenis = 'Komisi Bimbingan'; + $kombiRole = Role::findByName('Ketua Kombi')->users; + $dataKombi = [ + 'caseid' => $data->caseid, + 'nama' => $data->nama, + 'nim' => $data->nim, + 'judul_seminar_proposal' => $data->judul_seminar_proposal, + 'dosen_kombi_nama_gelar' => $kombiRole[0]->nama_gelar, + + ]; + $jenis = 'Komisi Bimbingan'; + return view('layanan-dpudpa.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $dataKombi]); + } + } + //jika URL tidak diantara ketika itu maka render ini + return redirect()->route('laman-awal')->with(['error'=>'Invalid CASEID, Atau CaseID Tidak Ditemukan']); + +} +public function submitettd($url, $caseid, Request $request){ + $role_untuk_ettd = ['dpu','dpa','kombi']; + $data = PengajuanDpuDpa::where('caseid','=',$caseid)->first(); + if(in_array($url, $role_untuk_ettd) && !is_null($data)){ + //jika URL DPU maka render ini + if($url=='dpu'){ + //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error + if($data->ttd_dpu!='-'){ + return redirect()->route('layanan-dpudpa.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_dpu]); + } + //ambil data ETTD sesuai url + $ttd = Mahasiswa::where('nim',$request->nim)->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id')->first(); + //jika Belum Pernah maka TTD akan diproses + if($ttd->ettd==$request->ettd){ + $data->ttd_dpu = Carbon::now(); + $data->save(); + $this->cek_dpa_dpu($caseid); + return redirect()->route('laman-awal')->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan']); + } + //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error + else{ + return redirect()->route('layanan-dpudpa.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']); + } + } + //jika URL DPa maka render ini + if($url=='dpa'){ + //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error + if($data->ttd_dpa!='-'){ + return redirect()->route('layanan-dpudpa.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_dpa]); + } + //ambil data ETTD sesuai url + $ttd = Mahasiswa::where('nim',$request->nim)->join('users as dosen_dpa','mahasiswas.dosen_dpa_id','=','dosen_dpa.id')->first(); + //jika Belum Pernah maka TTD akan diproses + if($ttd->ettd==$request->ettd){ + $data->ttd_dpa = Carbon::now(); + $data->save(); + $this->cek_dpa_dpu($caseid); + return redirect()->route('laman-awal')->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan']); + } + //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error + else{ + return redirect()->route('layanan-dpudpa.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']); + } + } + //jika URL Kombi maka render ini + if($url=='kombi'){ + //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error + if($data->ttd_kombi!='-'){ + return redirect()->route('layanan-dpudpa.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_kombi]); + } + //ambil data ETTD sesuai url + $ttd = Role::findByName('Ketua Kombi')->users; + //jika Belum Pernah maka TTD akan diproses + if($ttd[0]->ettd==$request->ettd){ + $data->ttd_kombi = Carbon::now(); + $data->save(); + $data = [ + 'jenis' => 'mahasiswa selesai', + 'id' => $data->id, + ]; + dispatch(new layananPengajuanDpuDpaJob($data)); + return redirect()->route('laman-awal')->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan']); + } + //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error + else{ + return redirect()->route('layanan-dpudpa.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']); + } + } + } +} +//cek apakah DPU dan DPU sudah Tanda tangan, jika sudah maka akan mengirim notifikasi ke Kombi +private function cek_dpa_dpu($caseid){ + $status = PengajuanDpuDpa::where('caseid',$caseid) + ->select('id','ttd_dpu','ttd_dpa') + ->first(); + if($status->ttd_dpu!='-' && $status->ttd_dpa!='-'){ + $data = [ + 'jenis' => 'kombi', + 'id' => $status->id, + ]; + dispatch(new layananPengajuanDpuDpaJob($data)); } - return redirect()->route('layanan-dpudpa.tambah')->with('error','Gagal Tambah data, Cek kembali data yang anda masukkan'); } } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index bdb87e0..b4743fc 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -99,7 +99,7 @@ public function userroles_index(){ public function userroles_store(Request $request){ $user_roles = new Role; - $user_roles->nama = $request->role_name; + $user_roles->name = $request->role_name; if($user_roles->save()){ return redirect()->route('users-roles.index')->with('success','Data Telah Berhasil Disimpan'); diff --git a/app/Jobs/layananPengajuanDpuDpaJob.php b/app/Jobs/layananPengajuanDpuDpaJob.php new file mode 100644 index 0000000..2cec5fd --- /dev/null +++ b/app/Jobs/layananPengajuanDpuDpaJob.php @@ -0,0 +1,94 @@ +data = $data; + } + + /** + * Execute the job. + */ + public function handle(): void + { + if($this->data['jenis']==="penolakan"){ + $text = "BETA\n". + "Penolakan Pengajuan Mahasiswa: ".$this->data['nama']."\n". + "Dengan Email : ".$this->data['email']."\n\n". + "Alasan : ".$this->data['alasan']; + Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage') + ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') ) + ->get(); + } + elseif($this->data['jenis'] == 'dpu'){ + $data = PengajuanDpuDpa::where('pengajuan_dpu_dpas.id',$this->data['id'])->select('mahasiswas.nama','mahasiswas.nim','mahasiswas.judul_seminar_proposal','mahasiswas.dosen_dpu_id','users.nama_gelar','users.email')->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')->join('users','users.id','=','dosen_dpu_id')->first(); + $text = "BETA\n". + "Kirim Pengajuan A/N Mahasiswa: ".$data->nama."\n". + "Kepada DPU : ".$data->nama_gelar."\n\n". + "Alamat Email : ".$data->email; + Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage') + ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') ) + ->get(); + } + elseif($this->data['jenis'] == 'dpa'){ + $data = PengajuanDpuDpa::where('pengajuan_dpu_dpas.id',$this->data['id'])->select('mahasiswas.nama','mahasiswas.nim','mahasiswas.judul_seminar_proposal','mahasiswas.dosen_dpa_id','users.nama_gelar','users.email')->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')->join('users','users.id','=','dosen_dpa_id')->first(); + $text = "BETA\n". + "Kirim Pengajuan A/N Mahasiswa: ".$data->nama."\n". + "Kepada DPA : ".$data->nama_gelar."\n\n". + "Alamat Email : ".$data->email; + Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage') + ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') ) + ->get(); + } + elseif($this->data['jenis'] == 'kombi'){ + $kombiRole = Role::findByName('Ketua Kombi')->users; + $data = PengajuanDpuDpa::where('pengajuan_dpu_dpas.id',$this->data['id'])->select('mahasiswas.nama','mahasiswas.nim','mahasiswas.judul_seminar_proposal')->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')->first(); + $text = "BETA\n". + "Kirim Pengajuan A/N Mahasiswa: ".$data->nama."\n". + "Kepada Komisi Bimbingan : ".$kombiRole[0]->nama_gelar."\n\n". + "Alamat Email : ".$kombiRole[0]->email; + Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage') + ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') ) + ->get(); + } + elseif($this->data['jenis'] == 'mahasiswa'){ + $data = PengajuanDpuDpa::where('pengajuan_dpu_dpas.id',$this->data['id'])->select('mahasiswas.nama','mahasiswas.nim','mahasiswas.judul_seminar_proposal','mahasiswas.email')->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')->first(); + $text = "BETA\n". + "Kirim Pengajuan A/N Mahasiswa: ".$data->nama."\n". + "Kepada Mahasiswa : ".$data->nama."\n\n". + "Alamat Email : ".$data->email; + Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage') + ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') ) + ->get(); + } + elseif($this->data['jenis'] == 'mahasiswa selesai'){ + $data = PengajuanDpuDpa::where('pengajuan_dpu_dpas.id',$this->data['id'])->select('mahasiswas.nama','mahasiswas.nim','mahasiswas.judul_seminar_proposal','mahasiswas.email')->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')->first(); + $text = "BETA\n". + "Kirim Notifikasi Pengajuan Selesai A/N Mahasiswa: ".$data->nama."\n". + "Kepada Mahasiswa : ".$data->nama."\n\n". + "Alamat Email : ".$data->email; + Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage') + ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') ) + ->get(); + } + + } +} diff --git a/composer.json b/composer.json index e18c53c..a8fdd8c 100644 --- a/composer.json +++ b/composer.json @@ -8,6 +8,7 @@ "php": "^8.1", "barryvdh/laravel-debugbar": "^3.10", "guzzlehttp/guzzle": "^7.2", + "ixudra/curl": "^6.22", "laravel/framework": "^10.10", "laravel/sanctum": "^3.3", "laravel/tinker": "^2.8", diff --git a/composer.lock b/composer.lock index 8743d21..1c97cc7 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8ea36d387a8498c6177a03aae1a59e91", + "content-hash": "87ff4862c07e8d4eb3091ca090ed4ac9", "packages": [ { "name": "barryvdh/laravel-debugbar", @@ -1129,6 +1129,64 @@ ], "time": "2023-12-03T19:50:20+00:00" }, + { + "name": "ixudra/curl", + "version": "6.22.1", + "source": { + "type": "git", + "url": "https://github.com/ixudra/curl.git", + "reference": "0b2cc89ed5eb91d617295e7e745f3acd3ab47180" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ixudra/curl/zipball/0b2cc89ed5eb91d617295e7e745f3acd3ab47180", + "reference": "0b2cc89ed5eb91d617295e7e745f3acd3ab47180", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "illuminate/support": ">=4.0", + "php": ">=5.4.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Ixudra\\Curl\\CurlServiceProvider" + ], + "aliases": { + "Curl": "Ixudra\\Curl\\Facades\\Curl" + } + } + }, + "autoload": { + "psr-4": { + "Ixudra\\Curl\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Oris", + "email": "jan.oris@ixudra.be" + } + ], + "description": "Custom PHP Curl library for the Laravel framework - developed by Ixudra", + "homepage": "http://ixudra.be", + "keywords": [ + "Ixudra", + "curl", + "laravel" + ], + "support": { + "issues": "https://github.com/ixudra/curl/issues", + "source": "https://github.com/ixudra/curl/tree/6.22.1" + }, + "time": "2022-07-31T09:58:52+00:00" + }, { "name": "laravel/framework", "version": "v10.43.0", @@ -8385,5 +8443,5 @@ "php": "^8.1" }, "platform-dev": [], - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.2.0" } diff --git a/config/app.php b/config/app.php index be60792..477f1df 100644 --- a/config/app.php +++ b/config/app.php @@ -70,7 +70,7 @@ | */ - 'timezone' => 'UTC', + 'timezone' => 'Asia/Jakarta', /* |-------------------------------------------------------------------------- diff --git a/database/seeders/MahasiswaSeeder.php b/database/seeders/MahasiswaSeeder.php new file mode 100644 index 0000000..2f7a59c --- /dev/null +++ b/database/seeders/MahasiswaSeeder.php @@ -0,0 +1,20 @@ +insert([ + // 'name' => Str::random(10), + // 'email' => Str::random(10).'@example.com', + // ]); + } +} diff --git a/database/seeders/UserRoleSeeder.php b/database/seeders/UserRoleSeeder.php index 21bf35b..d0062d0 100644 --- a/database/seeders/UserRoleSeeder.php +++ b/database/seeders/UserRoleSeeder.php @@ -18,8 +18,17 @@ public function run(): void ['name'=> 'Super Administrator'], ['name'=> 'Super Administrator'], ); - ModelsRole::create(['name'=> 'Tenaga Kependidikan']); - ModelsRole::create(['name'=> 'Dosen']); - ModelsRole::create(['name'=> 'Operator Akademik']); + ModelsRole::updateOrCreate( + ['name'=> 'Tenaga Kependidikan'], + ['name'=> 'Tenaga Kependidikan'] + ); + ModelsRole::updateOrCreate( + ['name'=> 'Dosen'], + ['name'=> 'Dosen'] + ); + ModelsRole::updateOrCreate( + ['name'=> 'Operator Akademik'], + ['name'=> 'Operator Akademik'] + ); } } diff --git a/resources/views/layanan-dpudpa/ettd.blade.php b/resources/views/layanan-dpudpa/ettd.blade.php new file mode 100644 index 0000000..33b62fa --- /dev/null +++ b/resources/views/layanan-dpudpa/ettd.blade.php @@ -0,0 +1,171 @@ + + + + + + {{ $title }} + + + + + +
+
+
+
+

{{ $title }} {{$jenis}}

+
+
+
+ + @if($jenis!="Komisi Bimbingan") +
+
+
+
+

{{$data->caseid}}

+
{{$jenis}}
+
+ +
+ @if(session('success')) +
+
    +
  • {{ session('success') }}
  • +
+
+ @endif + @if(session('error')) +
+
    +
  • {{ session('error') }}
  • +
+
+ @endif +
+ @csrf + + + + + + + + + + +
+ +
+
+
+ +
+
+
+ @elseif($jenis=="Komisi Bimbingan") +
+
+
+
+

{{$data['caseid']}}

+
{{$jenis}}
+
+ +
+ @if(session('success')) +
+
    +
  • {{ session('success') }}
  • +
+
+ @endif + @if(session('error')) +
+
    +
  • {{ session('error') }}
  • +
+
+ @endif +
+ @csrf + + + + + + + + + + +
+ +
+
+
+ +
+
+
+ @endif +
+ + +@include('layout.navbars.footer') + + + + + + + + + + + + diff --git a/resources/views/layanan-dpudpa/index.blade.php b/resources/views/layanan-dpudpa/index.blade.php index d0e9afe..7b7509d 100644 --- a/resources/views/layanan-dpudpa/index.blade.php +++ b/resources/views/layanan-dpudpa/index.blade.php @@ -38,6 +38,29 @@
Perhatian!
CaseID Akan muncul ketika pengajuan telah diterima untuk menghindari data duplikat untuk mahasiswa yang sama. + @if ($errors->any()) +
+ +
+ @endif + @if(session('success')) +
+ +
+ @endif + @if(session('error')) +
+ +
+ @endif @@ -55,8 +78,14 @@ - + + + + + + + +
{{ $datas->nim }} {{ $datas->dpu_nama_gelar }} {{ $datas->dpa_nama_gelar }} | | + | + @if($datas->ttd_operator=="-") + | + @endif +
+ + + + +
LOGOUNEJ +

KEMENTRIAN PENDIDIKAN, KEBUDAYAAN,
+ RISET, DAN TEKNOLOGI

+

UNIVERSITAS JEMBER

+

FAKULTAS FARMASI

+

Jalan Kalimantan I Nomor 2 Kampus Tegal Boto Kotak Pos 159 Jember 68121
+ Telepon/Faximile (0331) 324736
+ Email: farmasi@unej.ac.id

+
+

FORMULIR KESEDIAAN MENJADI DOSEN PEMBIMBING TUGAS AKHIR

+

Kami mahasiswa

+ + + + + + + + + + + + + + + + +
Nama: {{ $nama_mahasiswa }}
NIM: {{ $nim }}
Bagian: {{ $bagian }}
+

Telah menghubungi Calon Dosen Pembimbing dengan penelitian sebagai berikut:

+ + + + + + + + + + + + + + + +
+ Judul/Topik Tugas Akhir + + Dosen Pembimbing + + Tanda Tangan kesediaan +
+ {{ $judul_skripsi }} + + 1. Nama : {{ $dosen_dpu_nama_gelar }}
+ NIP : {{ $dosen_dpu_nip }}
+ Pangkat/Gol/Jab : -
+
+ Sebagai DPU +
+ +
+ 1. Nama : {{ $dosen_dpa_nama_gelar }}
+ NIP : {{ $dosen_dpa_nip }}
+ Pangkat/Gol/Jab : -
+
+ Sebagai DPA +
+ +
+ + + + + + + + + + + + + + + + + + + +
Mengetahui,Jember, {{ $date }}
Ketua Komisi BimbinganMahasiswa Pengusul
+ +
{{ $dosen_kombi_nama_gelar }}{{ $nama_mahasiswa }}
NIP. {{ $dosen_kombi_nip }}NIM. {{ $nim }} +
+ +

+ +

+ SURAT PERNYATAAN
+ KESANGGUPAN MENYELESAIKAN SKRIPSI

+

Yang bertanda tangan dibawah ini

+ + + + + + + + + + + + + + + + + + + + + +
Nama: {{ $nama_mahasiswa }}
NIM: {{ $nim }}
Bagian: {{ $bagian }}
Judul Skripsi: {{ $judul_skripsi }}
+

Bersama ini saya menyatakan bahwa saya sanggup menyelesaikan skripsi selambat-lambatnya selama 4 (empat) semester terhitung sejak pemrograman skripsi melalui SISTER. Saya sanggup menerima sanksi berupa pembatalan program skripsi, sehingga harus pemrograman skripsi kembali, jika tidak dapat menyelesaikan skripsi sesuai dengan batas waktu yang ditetapkan. +

+

Demikian surat pernyataan ini saya buat dengan penuh kesadaran untuk dapat digunakan sebagaimana mestinya.

+ + + + + + + + + + + + + + + + + + + + +
Jember, {{ $date }}
Pembuat Pernyataan
+ + materai 10.000 +
{{ $nama_mahasiswa }}
NIM. {{ $nim }} +
+ + + + + + + + + + + + + + + + + + + + + + +
Mengetahui
Tim Pembimbing
Dosen Pembimbing UtamaDosen Pembimbing Anggota
+ + + +
{{ $dosen_dpu_nama_gelar }}{{ $dosen_dpa_nama_gelar }}
NIP. {{ $dosen_dpu_nip }}NIP. {{ $dosen_dpu_nip }} +
+ + \ No newline at end of file diff --git a/resources/views/layanan-dpudpa/index.blade.php b/resources/views/layanan-dpudpa/index.blade.php index 7b7509d..07d9e86 100644 --- a/resources/views/layanan-dpudpa/index.blade.php +++ b/resources/views/layanan-dpudpa/index.blade.php @@ -79,11 +79,12 @@ {{ $datas->dpu_nama_gelar }} {{ $datas->dpa_nama_gelar }} - | + @if($datas->ttd_operator=="-") - | + | | + @endif - + + +
+
+
+
+
diff --git a/resources/views/layanan-sempro/ettd.blade.php b/resources/views/layanan-sempro/ettd.blade.php new file mode 100644 index 0000000..33b62fa --- /dev/null +++ b/resources/views/layanan-sempro/ettd.blade.php @@ -0,0 +1,171 @@ + + + + + + {{ $title }} + + + + + +
+
+
+
+

{{ $title }} {{$jenis}}

+
+
+
+ + @if($jenis!="Komisi Bimbingan") +
+
+
+
+

{{$data->caseid}}

+
{{$jenis}}
+
+ +
+ @if(session('success')) +
+
    +
  • {{ session('success') }}
  • +
+
+ @endif + @if(session('error')) +
+
    +
  • {{ session('error') }}
  • +
+
+ @endif +
+ @csrf + + + + + + + + + + +
+ +
+
+
+ +
+
+
+ @elseif($jenis=="Komisi Bimbingan") +
+
+
+
+

{{$data['caseid']}}

+
{{$jenis}}
+
+ +
+ @if(session('success')) +
+
    +
  • {{ session('success') }}
  • +
+
+ @endif + @if(session('error')) +
+
    +
  • {{ session('error') }}
  • +
+
+ @endif +
+ @csrf + + + + + + + + + + +
+ +
+
+
+ +
+
+
+ @endif +
+ + +@include('layout.navbars.footer') + + + + + + + + + + + + diff --git a/resources/views/layanan-sempro/index.blade.php b/resources/views/layanan-sempro/index.blade.php new file mode 100644 index 0000000..f820ee6 --- /dev/null +++ b/resources/views/layanan-sempro/index.blade.php @@ -0,0 +1,226 @@ + +@extends('layout.app') + +@push('css') + + + + +@endpush + +@section('content') + +@include('layout.navbars.sidebar') +
+ +
+
+
+
+

Pengajuan DPU / DPA

+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
Perhatian!
+ CaseID Akan muncul ketika pengajuan telah diterima untuk menghindari data duplikat untuk mahasiswa yang sama. +
+ @if ($errors->any()) +
+
    + @foreach ($errors->all() as $error ) +
  • {{ $error }}
  • + @endforeach +
+
+ @endif + @if(session('success')) +
+
    +
  • {{ session('success') }}
  • +
+
+ @endif + @if(session('error')) +
+
    +
  • {{ session('error') }}
  • +
+
+ @endif + + + + + + + + + + + + @foreach ($data as $datas) + + + + + + + + + + + + @endforeach + + + + + + + + + + +
CaseIDNIMDPUDPAAction
{{ $datas->caseid }}{{ $datas->nim }} {{ $datas->dpu_nama_gelar }}{{ $datas->dpa_nama_gelar }} + | + @if($datas->ttd_operator=="-") + | + + @endif +
CaseIDNIMDPUDPAAction
+
+ +
+ +
+ +
+@endsection + + +@push('js') + + + + + + + + + + + + + + + +@endpush + diff --git a/resources/views/layanan-sempro/tambah.blade.php b/resources/views/layanan-sempro/tambah.blade.php new file mode 100644 index 0000000..0bfd852 --- /dev/null +++ b/resources/views/layanan-sempro/tambah.blade.php @@ -0,0 +1,117 @@ + +@extends('layout.app_guest',['title' => 'Pengajuan DPU / DPA']) +@section('content') + + +
+
+ +
+
+

Pengajuan Kesediaan DPU / DPA

+
+ +
+ @if ($errors->any()) +
+
    + @foreach ($errors->all() as $error ) +
  • {{ $error }}
  • + @endforeach +
+
+ @endif + @if(session('success')) +
+
    +
  • {{ session('success') }}
  • +
+
+ @endif + @if(session('error')) +
+
    +
  • {{ session('error') }}
  • +
+
+ @endif +
+ @csrf +
+
+ + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ +
+
+
+ + +
+ +
+ +
+ +
+
+ + + + +
+
+
+
+ +
+
+
+
+
+ +
+ +
+ + +@endsection diff --git a/resources/views/layout/navbars/topbar.blade.php b/resources/views/layout/navbars/topbar.blade.php index 5bae487..6c74cc9 100644 --- a/resources/views/layout/navbars/topbar.blade.php +++ b/resources/views/layout/navbars/topbar.blade.php @@ -5,12 +5,6 @@ - - diff --git a/resources/views/monitoring/dpu_dpa.blade.php b/resources/views/monitoring/dpu_dpa.blade.php new file mode 100644 index 0000000..d89df8b --- /dev/null +++ b/resources/views/monitoring/dpu_dpa.blade.php @@ -0,0 +1,101 @@ + + + + + + {{ $title }} + + + + + +
+
+
+
+

{{ $title }}

+
+
+
+ +
+
+
+
+
Monitoring
+

{{$data->caseid}}

+
+ +
+ @if(session('success')) +
+
    +
  • {{ session('success') }}
  • +
+
+ @endif + @if(session('error')) +
+
    +
  • {{ session('error') }}
  • +
+
+ @endif + + ttd_dpu }} @else Belum TTD @endif"> + + ttd_dpa }} @else Belum TTD @endif"> + + ttd_kombi }} @else Belum TTD @endif"> + + +
+ + Klik Disini Untuk Cetak PDF +
+ +
+ +
+
+
+
+ + +@include('layout.navbars.footer') + + + + + + + + + + + + diff --git a/routes/web.php b/routes/web.php index 589de7b..4c606e2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -6,7 +6,9 @@ use App\Http\Controllers\AdminController; use App\Http\Controllers\UserController; use App\Http\Controllers\LayananPengajuanDpuDpaController; +use App\Http\Controllers\LayananSeminarProposal; use App\Http\Controllers\MahasiswaController; +use App\Http\Controllers\MonitoringController; use App\Http\Controllers\SesiLoginController; /* @@ -40,6 +42,10 @@ Route::get('/layanan-dpudpa', [LayananPengajuanDpuDpaController::class, 'index'])->name('layanan-dpudpa.index'); Route::DELETE('/layanan-dpudpa', [LayananPengajuanDpuDpaController::class, 'destroy'])->name('layanan-dpudpa.destroy'); Route::POST('/layanan-dpudpa', [LayananPengajuanDpuDpaController::class, 'terima'])->name('layanan-dpudpa.terima'); + //layanan Pengajuan Seminar Proposal + Route::get('/layanan-sempro', [LayananSeminarProposal::class, 'index'])->name('layanan-sempro.index'); + Route::DELETE('/layanan-sempro', [LayananSeminarProposal::class, 'destroy'])->name('layanan-sempro.destroy'); + Route::POST('/layanan-sempro', [LayananSeminarProposal::class, 'terima'])->name('layanan-sempro.terima'); //User Route::get('/users', [UserController::class, 'index'])->name('users.index'); @@ -61,5 +67,7 @@ //Layanan Pengajuan DPU/DPA Route::get('/layanan-dpudpa/tambah', [LayananPengajuanDpuDpaController::class, 'tambah'])->name('layanan-dpudpa.tambah'); Route::post('/layanan-dpudpa/tambah', [LayananPengajuanDpuDpaController::class, 'store'])->name('layanan-dpudpa.store'); +Route::get('/layanan-dpudpa/cetak/{caseid}', [LayananPengajuanDpuDpaController::class, 'cetak'])->name('layanan-dpudpa.cetak'); Route::get('/layanan-dpudpa/{url}/{caseid}', [LayananPengajuanDpuDpaController::class, 'ettd'])->name('layanan-dpudpa.ettd'); -Route::POST('/layanan-dpudpa/{url}/{caseid}', [LayananPengajuanDpuDpaController::class, 'submitettd'])->name('layanan-dpudpa.submitettd'); \ No newline at end of file +Route::POST('/layanan-dpudpa/{url}/{caseid}', [LayananPengajuanDpuDpaController::class, 'submitettd'])->name('layanan-dpudpa.submitettd'); +ROute::get('/monitoring/{caseid}', [MonitoringController::class, 'caseid'])->name('monitoring.caseid'); \ No newline at end of file -- 2.45.1 From 5766154a62ec5e717421b3adc03b9a4c9f98cf0f Mon Sep 17 00:00:00 2001 From: fikyb Date: Fri, 15 Mar 2024 18:36:20 +0700 Subject: [PATCH 3/3] done pengajuan sempro --- .../LayananPengajuanDpuDpaController.php | 11 +- .../Controllers/LayananSeminarProposal.php | 335 ++++++++++++++++++ app/Http/Controllers/MonitoringController.php | 63 +++- app/Jobs/kirimNotifikasiErrorJob.php | 34 ++ app/Jobs/layananSeminarProposalJob.php | 105 ++++++ app/Models/Bagian.php | 11 + app/Models/PengajuanSempro.php | 11 + ..._194146_create_pengajuan_sempros_table.php | 6 +- resources/views/index.blade.php | 30 ++ .../views/layanan-dpudpa/index.blade.php | 2 + .../views/layanan-dpudpa/tambah.blade.php | 18 +- resources/views/layanan-sempro/cari.blade.php | 67 ++++ .../views/layanan-sempro/cetak.blade.php | 135 +++++++ resources/views/layanan-sempro/ettd.blade.php | 75 +--- .../views/layanan-sempro/index.blade.php | 66 +++- .../views/layanan-sempro/tambah.blade.php | 124 ++++++- resources/views/layout/app_guest.blade.php | 18 + .../views/layout/navbars/sidebar.blade.php | 8 + resources/views/monitoring/index.blade.php | 54 +++ resources/views/monitoring/sempro.blade.php | 95 +++++ routes/web.php | 17 +- 21 files changed, 1156 insertions(+), 129 deletions(-) create mode 100644 app/Jobs/kirimNotifikasiErrorJob.php create mode 100644 app/Jobs/layananSeminarProposalJob.php create mode 100644 app/Models/Bagian.php create mode 100644 resources/views/index.blade.php create mode 100644 resources/views/layanan-sempro/cari.blade.php create mode 100644 resources/views/layanan-sempro/cetak.blade.php create mode 100644 resources/views/monitoring/index.blade.php create mode 100644 resources/views/monitoring/sempro.blade.php diff --git a/app/Http/Controllers/LayananPengajuanDpuDpaController.php b/app/Http/Controllers/LayananPengajuanDpuDpaController.php index 344d51b..626402e 100644 --- a/app/Http/Controllers/LayananPengajuanDpuDpaController.php +++ b/app/Http/Controllers/LayananPengajuanDpuDpaController.php @@ -4,6 +4,7 @@ use App\Jobs\layananPengajuanDpuDpaJob; +use App\Models\Bagian; use App\Models\Mahasiswa; use App\Models\PengajuanDpuDpa; use App\Models\User; @@ -12,6 +13,7 @@ use Carbon\Carbon; use Illuminate\Http\Request; + use Illuminate\Support\Facades\Storage; use SimpleSoftwareIO\QrCode\Facades\QrCode; use Spatie\Permission\Models\Role; @@ -37,7 +39,8 @@ public function index(){ //done public function tambah(){ $dosen = User::role('Dosen')->get(); - return view('layanan-dpudpa.tambah',['dosen'=>$dosen]); + $bagian = Bagian::select('id', 'nama_bagian')->get(); + return view('layanan-dpudpa.tambah',['dosen'=>$dosen, 'bagian'=>$bagian]); } //done @@ -296,7 +299,7 @@ public function submitettd($url, $caseid, Request $request){ } } -//belum +//done public function cetak($caseid){ $get_data = PengajuanDpuDpa::where('caseid',$caseid)->first(); if($get_data->ttd_kombi=='-'){ @@ -308,7 +311,7 @@ public function cetak($caseid){ 'pengajuan_dpu_dpas.*', 'mahasiswas.nim', 'mahasiswas.nama', - 'mahasiswas.bagian', + 'bagians.nama_bagian', 'mahasiswas.judul_seminar_proposal', 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar', 'dosen_dpu.nip as dosen_dpu_nip', @@ -316,7 +319,7 @@ public function cetak($caseid){ 'dosen_dpa.nip as dosen_dpa_nip', ) ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id') - ->join('bagians','bagian','=','bagians.id') + ->join('bagians','mahasiswas.bagian','=','bagians.id') ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id') ->join('users as dosen_dpa','mahasiswas.dosen_dpa_id','=','dosen_dpa.id') ->first(); diff --git a/app/Http/Controllers/LayananSeminarProposal.php b/app/Http/Controllers/LayananSeminarProposal.php index cd86297..679ec74 100644 --- a/app/Http/Controllers/LayananSeminarProposal.php +++ b/app/Http/Controllers/LayananSeminarProposal.php @@ -2,8 +2,20 @@ namespace App\Http\Controllers; +use App\Jobs\kirimNotifikasiErrorJob; +use App\Jobs\layananSeminarProposalJob; + +use App\Models\Bagian; +use App\Models\Mahasiswa; use App\Models\PengajuanSempro; +use App\Models\User; +use Barryvdh\DomPDF\Facade\Pdf; +use Carbon\Carbon; +use Exception; + use Illuminate\Http\Request; +use Illuminate\Support\Facades\Storage; +use SimpleSoftwareIO\QrCode\Facades\QrCode; class LayananSeminarProposal extends Controller { @@ -23,12 +35,335 @@ public function index(){ return view('layanan-sempro.index',['title' => 'Pengajuan Seminar Proposal | Admin Dashboard','data' => $data]); } +//done +public function tambah(){ + //ambil data dosen, dan laboratorium + $dosen = User::role('Dosen')->get(); + $bagian = Bagian::select('id','nama_bagian')->get(); + //cek apakah ada data mahasiswa dari hasil cari + $nim = session('mahasiswas_id'); + if($nim!=null){ + $data_mahasiswa = Mahasiswa::find($nim); + return view('layanan-sempro.tambah',['dosen'=>$dosen, 'bagian'=>$bagian,'data_mahasiswa'=>$data_mahasiswa]); + } + return view('layanan-sempro.tambah',['dosen'=>$dosen, 'bagian'=>$bagian]); +} +//done +public function cari(){ + return view('layanan-sempro.cari',['title'=>'Cari Data Mahasiswa Untuk Keperluan Pengajuan Seminar Proposal']); +} +//done +public function search(Request $request){ + $data = Mahasiswa::where('nim',$request->nim)->first(); + if($data==null){ + return redirect()->route('layanan-sempro.tambah')->with('error','NIM Tidak Ditemukan, Gunakan Fitur Tambah'); + } + return redirect()->route('layanan-sempro.tambah')->with('mahasiswas_id',$data->id); +} + +//done +public function store(Request $request){ + + $request->validate([ + 'nim'=>'required|numeric', + 'nama'=>'required', + 'nomor_hp'=>'required|numeric', + 'email'=>'required|email', + 'judul_seminar_proposal'=>'required', + 'bagian'=>'required|numeric', + 'dosen_dpu'=>'required|numeric', + 'dosen_dpa'=>'required|numeric', + 'dosen_penguji1'=>'required|numeric', + 'dosen_penguji2'=>'required|numeric', + 'nilai_plagiasi'=>'required|numeric', + 'bukti_hadir_sempro' => 'required|mimes:pdf|max:4096', + 'bukti_turnitin' => 'required|mimes:pdf|max:4096', + 'bukti_sister' => 'required|mimes:pdf|max:4096', + 'bukti_lembar_monitoring' => 'required|mimes:pdf|max:4096', + 'bukti_naskah_dosen_pembimbing' => 'required|mimes:pdf|max:4096', + 'bukti_naskah_dosen_penguji' => 'required|mimes:pdf|max:4096', + ],[ + 'nim.required'=>'NIP Wajib Diisi', + 'nim.numeric'=>'NIM Wajib Berisi Angka saja', + 'nomor_hp.numeric'=>'Nomor HP Wajib Menggunakan Angka, Contoh 089xxxxx', + 'email.email'=>'Format email tidak sesuai, cek lagi email anda, Contoh mahasiswa@gmail.com/ mahasiswa@mail.unej.ac.id', + 'bagian.numeric'=>'Bagian tidak valid, cek kembali Bagian yang dipilih', + 'dosen_dpu.numeric'=>'Dosen Pembimbing tidak valid, cek kembali Dosen Pembimbing Utama yang dipilih', + 'dosen_dpa.numeric'=>'Dosen Pembimbing tidak valid, cek kembali Dosen Pembimbing Anggota yang dipilih', + 'dosen_penguji1.numeric'=>'Dosen Penguji tidak valid, cek kembali Dosen Penguji Utama yang dipilih', + 'dosen_penguji2.numeric'=>'Dosen Penguji tidak valid, cek kembali Dosen Penguji Anggota yang dipilih', + 'nilai_plagiasi.numeric'=>'Masukkan Nilai Plagiasi Berupa Angka saja', + ]); + + //olah file + $bukti_hadir_sempro = $request->file('bukti_hadir_sempro'); + $bukti_turnitin = $request->file('bukti_turnitin'); + $bukti_sister = $request->file('bukti_sister'); + $bukti_lembar_monitoring = $request->file('bukti_lembar_monitoring'); + $bukti_naskah_dosen_pembimbing = $request->file('bukti_naskah_dosen_pembimbing'); + $bukti_naskah_dosen_penguji = $request->file('bukti_naskah_dosen_penguji'); + //beri nama tiap file + $bukti_hadir_sempro_name= 'LP_1'.str_replace(' ', '_',$bukti_hadir_sempro->getClientOriginalName()); + $bukti_turnitin_name = 'LP_2'.str_replace(' ', '_',$bukti_turnitin->getClientOriginalName()); + $bukti_sister_name = 'LP_3'.str_replace(' ', '_',$bukti_sister->getClientOriginalName()); + $bukti_lembar_monitoring_name = 'LP_4'.str_replace(' ', '_',$bukti_lembar_monitoring->getClientOriginalName()); + $bukti_naskah_dosen_pembimbing_name = 'LP_5'.str_replace(' ', '_',$bukti_naskah_dosen_pembimbing->getClientOriginalName()); + $bukti_naskah_dosen_penguji_name = 'LP_6'.str_replace(' ', '_',$bukti_naskah_dosen_penguji->getClientOriginalName()); + + //cek apakah data mahasiswa ada, jika ada maka dikembalikan dan dianjurkan menggunakan fitur cari + $mahasiswa = Mahasiswa::where('nim',$request->nim)->first(); + if(!is_null($mahasiswa) && $request->status!="ada"){ + return redirect()->route('layanan-sempro.tambah')->with('error','Data Anda Sudah Ada, Gunakan Fitur Cari Menggunakan NIM :'.$request->nim); + } + //kalo menggunakan fitur cari, akan menggunakan fungsi ini + elseif(!is_null($mahasiswa) && $request->status=="ada"){ + $mahasiswas_id = $mahasiswa->id; + $data_sempro['mahasiswas_id'] = $mahasiswas_id; + $data_sempro['nilai_plagiasi'] = $request->nilai_plagiasi; + $data_sempro['bukti_hadir_sempro'] = $bukti_hadir_sempro_name; + $data_sempro['bukti_turnitin'] = $bukti_turnitin_name; + $data_sempro['bukti_sister'] = $bukti_sister_name; + $data_sempro['bukti_lembar_monitoring'] = $bukti_lembar_monitoring_name; + $data_sempro['bukti_naskah_dosen_pembimbing'] = $bukti_naskah_dosen_pembimbing_name; + $data_sempro['bukti_naskah_dosen_penguji'] = $bukti_naskah_dosen_penguji_name; + PengajuanSempro::create($data_sempro); + + Storage::disk('public')->put($request->nim.'/'.$bukti_hadir_sempro_name, file_get_contents($bukti_hadir_sempro)); + Storage::disk('public')->put($request->nim.'/'.$bukti_turnitin_name, file_get_contents($bukti_turnitin)); + Storage::disk('public')->put($request->nim.'/'.$bukti_sister_name, file_get_contents($bukti_sister)); + Storage::disk('public')->put($request->nim.'/'.$bukti_lembar_monitoring_name, file_get_contents($bukti_lembar_monitoring)); + Storage::disk('public')->put($request->nim.'/'.$bukti_naskah_dosen_pembimbing_name, file_get_contents($bukti_naskah_dosen_pembimbing)); + Storage::disk('public')->put($request->nim.'/'.$bukti_naskah_dosen_penguji_name, file_get_contents($bukti_naskah_dosen_penguji)); + return redirect()->route('layanan-sempro.tambah')->with('success','Sukses Tambah Data, Silahkan Menunggu Email Konfirmasi setelah disetujui Oleh Operator'); + } + + $data_mhs['nim'] = $request->nim; + $data_mhs['nama'] = $request->nama; + $data_mhs['nomor_hp'] = $request->nomor_hp; + $data_mhs['email'] = $request->email; + $data_mhs['judul_seminar_proposal'] = $request->judul_seminar_proposal; + $data_mhs['bagian'] = $request->bagian; + $data_mhs['dosen_dpu_id'] = $request->dosen_dpu; + $data_mhs['dosen_dpa_id'] = $request->dosen_dpa; + $data_mhs['dosen_penguji1_id'] = $request->dosen_penguji1; + $data_mhs['dosen_penguji2_id'] = $request->dosen_penguji2; + //set default values to - + $data_mhs['judul_skripsi_id'] = '-'; + $data_mhs['judul_skripsi_en'] = '-'; + $data_mhs['judul_jurnal'] = '-'; + $data_mhs['judul_artikel'] = '-'; + + + + + + + //save data mahasiswa dan pengajuan + if(Mahasiswa::create($data_mhs)){ + $mahasiswas_id = Mahasiswa::where('nim',$request->nim)->first(); + $data_sempro['mahasiswas_id'] = $mahasiswas_id->id; + $data_sempro['nilai_plagiasi'] = $request->nilai_plagiasi; + $data_sempro['bukti_hadir_sempro'] = $bukti_hadir_sempro_name; + $data_sempro['bukti_turnitin'] = $bukti_turnitin_name; + $data_sempro['bukti_sister'] = $bukti_sister_name; + $data_sempro['bukti_lembar_monitoring'] = $bukti_lembar_monitoring_name; + $data_sempro['bukti_naskah_dosen_pembimbing'] = $bukti_naskah_dosen_pembimbing_name; + $data_sempro['bukti_naskah_dosen_penguji'] = $bukti_naskah_dosen_penguji_name; + PengajuanSempro::create($data_sempro); + + Storage::disk('public')->put($request->nim.'/'.$bukti_hadir_sempro_name, file_get_contents($bukti_hadir_sempro)); + Storage::disk('public')->put($request->nim.'/'.$bukti_turnitin_name, file_get_contents($bukti_turnitin)); + Storage::disk('public')->put($request->nim.'/'.$bukti_sister_name, file_get_contents($bukti_sister)); + Storage::disk('public')->put($request->nim.'/'.$bukti_lembar_monitoring_name, file_get_contents($bukti_lembar_monitoring)); + Storage::disk('public')->put($request->nim.'/'.$bukti_naskah_dosen_pembimbing_name, file_get_contents($bukti_naskah_dosen_pembimbing)); + Storage::disk('public')->put($request->nim.'/'.$bukti_naskah_dosen_penguji_name, file_get_contents($bukti_naskah_dosen_penguji)); + return redirect()->route('layanan-sempro.tambah')->with('success','Sukses Tambah Data, Silahkan Menunggu Email Konfirmasi setelah disetujui Oleh Operator'); + } + return redirect()->route('layanan-sempro.tambah')->with('error','Gagal Tambah data, Cek kembali data yang anda masukkan'); + // $path = $request->nim.'/'.$file_transkrip_name; +} + +//done public function destroy(Request $request){ + $id = $request->id; + //cari data dan kirim notif sebelum dihapus + $data = PengajuanSempro::where('pengajuan_sempros.id',$id) + ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id') + ->first(); + //data yang akan dikirim untuk dihapus + $data_job = [ + 'jenis' => 'penolakan', + 'nama' => $data->nama, + 'email' => $data->email, + 'created_at' => $data->created_at, + 'alasan' => $request->alasan, + ]; + //lokasi file + $path = [ + 'bukti_hadir_sempro' => $data->nim."/".$data->bukti_hadir_sempro, + 'bukti_turnitin' => $data->nim."/".$data->bukti_turnitin, + 'bukti_sister' => $data->nim."/".$data->bukti_sister, + 'bukti_lembar_monitoring' => $data->nim."/".$data->bukti_lembar_monitoring, + 'bukti_naskah_dosen_pembimbing' => $data->nim."/".$data->bukti_naskah_dosen_pembimbing, + 'bukti_naskah_dosen_penguji' => $data->nim."/".$data->bukti_naskah_dosen_penguji, + ]; + + //delete file + foreach($path as $item){ + try { + Storage::disk('public')->delete($item); + } + catch(Exception $e){ + $text['error'] = $e->getMessage(); + dispatch(new kirimNotifikasiErrorJob($text)); + exit; + } + } + + //delete data mahasiswa + try { + $dataDelete = PengajuanSempro::findOrFail($id); + $dataDelete->delete(); + //kirim notif ke mahasiswa bahwa ditolak + dispatch(new layananSeminarProposalJob($data_job)); + + }catch(Exception $e){ + //kirim notif error jika terjadi error + $text['error'] = $e->getMessage(); + dispatch(new kirimNotifikasiErrorJob($text)); + + return redirect()->route('layanan-sempro.index')->with('error','Error : '.$text['error']); + } + return redirect()->route('layanan-sempro.index')->with('success','Permintaan Sudah Diproses, Email akan segera dikirim ke penerima'); } +//done public function terima(Request $request){ + $id = $request->id; + $countcaseid = PengajuanSempro::where('ttd_operator','!=','-')->count(); + $caseid = "LP".date_format(date_create(),"ym").$countcaseid+1; + $cekData = PengajuanSempro::where('caseid',$caseid)->first(); + $data = PengajuanSempro::where('id',$id)->first(); + //cek apakah ada caseid yang sama sebelum disave + if(!is_null($cekData)){ + $data->updated_at = Carbon::now(); + $data->save(); + return redirect()->route('layanan-sempro.index')->with('error','Gagal simpan Data, Cek kembali Detail Data yang akan diterima'); + } + + $data->caseid = $caseid; + $data->ttd_operator = Carbon::now(); + if($data->save()){ + $data_job = [ + [ + 'jenis' => 'mahasiswa', + 'id' => $id, + ], + [ + 'jenis' => 'dpu', + 'id' => $id, + ], + ]; + foreach($data_job as $item){ + dispatch(new layananSeminarProposalJob($item)); + } + return redirect()->route('layanan-sempro.index')->with('success','Data Berhasil Disimpan, Email Akan Dikirimkan ke Mahasiswa, DPU dan DPA'); + } } +//done +public function ettd($caseid){ + $data = PengajuanSempro::where('caseid', $caseid) + ->select( + 'pengajuan_sempros.*', + 'mahasiswas.nama', + 'mahasiswas.nim', + 'mahasiswas.judul_seminar_proposal', + 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar', + ) + ->join('mahasiswas','pengajuan_sempros.mahasiswas_id','=','mahasiswas.id') + ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id') + ->first(); + //jika data tidak null, maka render ini + if(!is_null($data)){ + $jenis = 'Dosen Pembimbing Utama'; + return view('layanan-sempro.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data]); + } + //jika URL tidak diantara ketika itu maka render ini + return redirect()->route('laman-awal')->with(['error'=>'Invalid CASEID, Atau CaseID Tidak Ditemukan']); +} + +//done +public function submitettd($caseid, Request $request){ + $data = PengajuanSempro::where('caseid','=',$caseid)->first(); + //jika data ada, maka diproses + if(!is_null($data)){ + //cek ttd jika ttd sudah pernah diisi maka dikembalikan error + if($data->ttd_dpu!='-'){ + return redirect()->route('layanan-sempro.ettd',['caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_dpu]); + } + $ttd = Mahasiswa::where('nim',$request->nim)->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id')->first(); + //jika Belum Pernah maka TTD akan diproses + if($ttd->ettd==$request->ettd){ + $data->ttd_dpu = Carbon::now(); + $data->save(); + $data_job =[ + 'jenis' => 'mahasiswa selesai', + 'id' => $data->id, + ]; + dispatch(new layananSeminarProposalJob($data_job)); + return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]); + } + //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error + else{ + return redirect()->route('layanan-sempro.ettd',['caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']); + } + } +} + +//done +public function cetak($caseid){ + $data = PengajuanSempro::where('caseid', $caseid) + ->select( + 'pengajuan_sempros.*', + 'mahasiswas.nama', + 'bagians.nama_bagian', + 'mahasiswas.nim', + 'mahasiswas.judul_seminar_proposal', + 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar', + 'dosen_dpu.nip as dosen_dpu_nip', + ) + ->join('mahasiswas','pengajuan_sempros.mahasiswas_id','=','mahasiswas.id') + ->join('bagians','mahasiswas.bagian','=','bagians.id') + ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id') + ->first(); + //jika data tidak null, maka render ini + if($data->ttd_dpu=='-'){ + return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with('error','Data Belum Di TandaTangani Oleh Dosen Pembimbing Utama, File Bisa didownload ketika DPU sudah tanda tangan!'); + } + if(is_null($data)){ + return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with('error','Data Dengan CASEID Tersebut Tidak ada'); + } + + $data = [ + 'title' => 'Cetak Kesediaan', + // 'date' => Carbon::now()->format('d-m-Y'), + 'date' => $data->created_at->format('d-m-Y'), + 'nama_mahasiswa' => $data->nama, + 'nim' => $data->nim, + 'bagian' => $data->nama_bagian, + 'judul_seminar_proposal' => $data->judul_seminar_proposal, + 'nilai_plagiasi' => $data->nilai_plagiasi, + 'dosen_dpu_nama_gelar' => $data->dosen_dpu_nama_gelar, + 'dosen_dpu_nip' => $data->dosen_dpu_nip, + 'dosen_dpu_qrcode' => base64_encode(QrCode::size(100)->generate($data->dosen_dpu_nama_gelar.'_TTD_'.$data->ttd_dpu)), + ]; + $pdf = Pdf::loadView('layanan-sempro.cetak', $data); + return $pdf->setPaper('a4', 'potrait')->stream($caseid.'-Kesediaan Menjadi Dosen Pembimbing Tugas Akhir'); + + //jika URL tidak diantara ketika itu maka render ini + +} } diff --git a/app/Http/Controllers/MonitoringController.php b/app/Http/Controllers/MonitoringController.php index 8b1a1a1..7ae356e 100644 --- a/app/Http/Controllers/MonitoringController.php +++ b/app/Http/Controllers/MonitoringController.php @@ -3,26 +3,61 @@ namespace App\Http\Controllers; use App\Models\PengajuanDpuDpa; +use App\Models\PengajuanSempro; use Illuminate\Http\Request; class MonitoringController extends Controller { +public function index(){ + return view('monitoring.index',['title' => 'Cari Pengajuan Anda Menggunakan CASEID yang Dikirim Lewat Email']); +} + +public function search(Request $request){ + return redirect()->route('monitoring.caseid',['caseid'=>$request->caseid]); +} + public function caseid($caseid){ - $data = PengajuanDpuDpa::where('caseid', $caseid) - ->select( - 'pengajuan_dpu_dpas.*', - 'mahasiswas.nim', - 'mahasiswas.nama', - 'mahasiswas.judul_seminar_proposal', - 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar', - 'dosen_dpa.nama_gelar as dosen_dpa_nama_gelar', - ) - ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id') - ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id') - ->join('users as dosen_dpa','mahasiswas.dosen_dpa_id','=','dosen_dpa.id') - ->first(); - return view('monitoring.dpu_dpa',['title' => 'Monitoring Pengajuan DPU/DPA - '.$caseid,'data' => $data]); + $cek_caseid = substr($caseid, 0, 2); + if($cek_caseid=="LS"){ + $data = PengajuanDpuDpa::where('caseid', $caseid) + ->select( + 'pengajuan_dpu_dpas.*', + 'mahasiswas.nim', + 'mahasiswas.nama', + 'mahasiswas.judul_seminar_proposal', + 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar', + 'dosen_dpa.nama_gelar as dosen_dpa_nama_gelar', + ) + ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id') + ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id') + ->join('users as dosen_dpa','mahasiswas.dosen_dpa_id','=','dosen_dpa.id') + ->first(); + if($data==null){ + return redirect()->route('monitoring.index')->with('error','CaseID Tidak Ditemukan'); + } + return view('monitoring.dpu_dpa',['title' => 'Monitoring Pengajuan DPU/DPA - '.$caseid,'data' => $data]); + } + elseif($cek_caseid=="LP"){ + $data = PengajuanSempro::where('caseid',$caseid) + ->select( + 'pengajuan_sempros.*', + 'mahasiswas.nim', + 'mahasiswas.nama', + 'mahasiswas.judul_seminar_proposal', + 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar', + ) + ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id') + ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id') + ->first(); + if($data==null){ + return redirect()->route('monitoring.index')->with('error','CaseID Tidak Ditemukan'); + } + return view('monitoring.sempro',['title' => 'Monitoring Pengajuan Seminar Proposal - '.$caseid,'data' => $data]); + } + else{ + return redirect()->route('monitoring.index')->with('error','CaseID Tidak Valid'); + } } } diff --git a/app/Jobs/kirimNotifikasiErrorJob.php b/app/Jobs/kirimNotifikasiErrorJob.php new file mode 100644 index 0000000..c0d13f5 --- /dev/null +++ b/app/Jobs/kirimNotifikasiErrorJob.php @@ -0,0 +1,34 @@ +data = $data; + } + + /** + * Execute the job. + */ + public function handle(): void + { + $text = $this->data['error']; + Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage') + ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') ) + ->get(); + } +} diff --git a/app/Jobs/layananSeminarProposalJob.php b/app/Jobs/layananSeminarProposalJob.php new file mode 100644 index 0000000..9818999 --- /dev/null +++ b/app/Jobs/layananSeminarProposalJob.php @@ -0,0 +1,105 @@ +data = $data; + } + + /** + * Execute the job. + */ + public function handle(): void + { + if($this->data['jenis']==="penolakan"){ + $text = "BETA\n". + "Penolakan Pengajuan Seminar Proposal Mahasiswa: ".$this->data['nama']."\n". + "Dengan Email : ".$this->data['email']."\n\n". + "Alasan : ".$this->data['alasan']; + Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage') + ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') ) + ->get(); + } + elseif($this->data['jenis'] == 'dpu'){ + $data = PengajuanSempro::where('pengajuan_sempros.id',$this->data['id']) + ->select( + 'pengajuan_sempros.caseid', + 'pengajuan_sempros.nilai_plagiasi', + 'mahasiswas.nama', + 'mahasiswas.nim', + 'mahasiswas.email', + 'mahasiswas.judul_seminar_proposal', + 'mahasiswas.dosen_dpu_id',) + ->join('mahasiswas','mahasiswas.id','=','mahasiswas_id') + ->first(); + $text = "BETA - ".$data->caseid."\n". + "Kirim Pengajuan A/N Mahasiswa: ".$data->nama."\n". + "Kepada mahasiswa : ".$data->nama."\n\n". + "Alamat Email : ".$data->email; + Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage') + ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') ) + ->get(); + } + elseif($this->data['jenis'] == 'mahasiswa selesai'){ + $data = PengajuanSempro::where('pengajuan_sempros.id',$this->data['id']) + ->select( + 'pengajuan_sempros.caseid', + 'pengajuan_sempros.nilai_plagiasi', + 'mahasiswas.nama', + 'mahasiswas.nim', + 'mahasiswas.judul_seminar_proposal', + 'mahasiswas.dosen_dpu_id', + 'users.nama_gelar', + 'users.email') + ->join('mahasiswas','mahasiswas.id','=','mahasiswas_id') + ->join('users','users.id','=','dosen_dpu_id') + ->first(); + $text = "BETA - ".$data->caseid."\n". + "Pengajuan Selesai A/N Mahasiswa: ".$data->nama."\n". + "Kepada DPU : ".$data->nama_gelar."\n\n". + "Alamat Email : ".$data->email; + Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage') + ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') ) + ->get(); + } + elseif($this->data['jenis'] == 'mahasiswa'){ + $data = PengajuanSempro::where('pengajuan_sempros.id',$this->data['id']) + ->select( + 'pengajuan_sempros.caseid', + 'pengajuan_sempros.nilai_plagiasi', + 'mahasiswas.nama', + 'mahasiswas.nim', + 'mahasiswas.judul_seminar_proposal', + 'mahasiswas.dosen_dpu_id', + 'users.nama_gelar', + 'users.email') + ->join('mahasiswas','mahasiswas.id','=','mahasiswas_id') + ->join('users','users.id','=','dosen_dpu_id') + ->first(); + $text = "BETA - ".$data->caseid."\n". + "Kirim Pengajuan A/N Mahasiswa: ".$data->nama."\n". + "Kepada DPU : ".$data->nama_gelar."\n\n". + "Alamat Email : ".$data->email; + Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage') + ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') ) + ->get(); + } + } +} diff --git a/app/Models/Bagian.php b/app/Models/Bagian.php new file mode 100644 index 0000000..fbec3f3 --- /dev/null +++ b/app/Models/Bagian.php @@ -0,0 +1,11 @@ +id(); - $table->string('caseid'); + $table->string('caseid')->default('-'); $table->foreignId('mahasiswas_id')->constrained(); - $table->string('ttd_operator'); - $table->string('ttd_dpu'); + $table->string('ttd_operator')->default('-'); + $table->string('ttd_dpu')->default('-'); $table->integer('nilai_plagiasi'); $table->string('bukti_hadir_sempro'); $table->string('bukti_turnitin'); diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php new file mode 100644 index 0000000..a0e8512 --- /dev/null +++ b/resources/views/index.blade.php @@ -0,0 +1,30 @@ +@if($errors->any()) +
+
    + @foreach ($errors->all() as $error ) +
  • {{ $error }}
  • + @endforeach +
+
+@endif +@if(session('success')) +
+
    +
  • {{ session('success') }}
  • +
+
+@endif +@if(session('error')) +
+
    +
  • {{ session('error') }}
  • +
+
+@endif + +
+
+
+
+ +

PROGRES

\ No newline at end of file diff --git a/resources/views/layanan-dpudpa/index.blade.php b/resources/views/layanan-dpudpa/index.blade.php index 07d9e86..79bdabe 100644 --- a/resources/views/layanan-dpudpa/index.blade.php +++ b/resources/views/layanan-dpudpa/index.blade.php @@ -66,6 +66,7 @@ CaseID NIM + Nama Mahasiswa DPU DPA Action @@ -76,6 +77,7 @@ {{ $datas->caseid }} {{ $datas->nim }} + {{ $datas->nama }} {{ $datas->dpu_nama_gelar }} {{ $datas->dpa_nama_gelar }} diff --git a/resources/views/layanan-dpudpa/tambah.blade.php b/resources/views/layanan-dpudpa/tambah.blade.php index 0bfd852..17d29e1 100644 --- a/resources/views/layanan-dpudpa/tambah.blade.php +++ b/resources/views/layanan-dpudpa/tambah.blade.php @@ -12,7 +12,7 @@
- @if ($errors->any()) + @if($errors->any())
    @foreach ($errors->all() as $error ) @@ -35,6 +35,11 @@
@endif +
+ +
Perhatian!
+ Pernah Menggunakan Layanan PINTU Untuk Pengajuan ? Coba Gunakan Fitur Cari. Klik Disini +
@csrf
@@ -50,14 +55,9 @@
diff --git a/resources/views/layanan-sempro/cari.blade.php b/resources/views/layanan-sempro/cari.blade.php new file mode 100644 index 0000000..4b26c24 --- /dev/null +++ b/resources/views/layanan-sempro/cari.blade.php @@ -0,0 +1,67 @@ + +@extends('layout.app_guest',['title' => 'Pengajuan Seminar Proposal']) +@section('content') + + +
+
+ +
+
+

Pengajuan Seminar Proposal

+
+ @if ($errors->any()) +
+
    + @foreach ($errors->all() as $error ) +
  • {{ $error }}
  • + @endforeach +
+
+ @endif + @if(session('success')) +
+
    +
  • {{ session('success') }}
  • +
+
+ @endif + @if(session('error')) +
+
    +
  • {{ session('error') }}
  • +
+
+ @endif +
+ @if(session('success')) +
+
    +
  • {{ session('success') }}
  • +
+
+ @endif + @if(session('error')) +
+
    +
  • {{ session('error') }}
  • +
+
+ @endif + + @csrf + + +
+ +
+ +
+
+ +
+ +
+ + +@endsection diff --git a/resources/views/layanan-sempro/cetak.blade.php b/resources/views/layanan-sempro/cetak.blade.php new file mode 100644 index 0000000..f3c8a07 --- /dev/null +++ b/resources/views/layanan-sempro/cetak.blade.php @@ -0,0 +1,135 @@ + + + + + {{ $title }} + + + + + + + + + +
LOGOUNEJ +

KEMENTRIAN PENDIDIKAN, KEBUDAYAAN,
+ RISET, DAN TEKNOLOGI

+

UNIVERSITAS JEMBER

+

FAKULTAS FARMASI

+

Jalan Kalimantan I Nomor 2 Kampus Tegal Boto Kotak Pos 159 Jember 68121
+ Telepon/Faximile (0331) 324736
+ Email: farmasi@unej.ac.id

+
+

SURAT PERNYATAAN BEBAS PLAGIASI PROPOSAL

+

Saya Selaku Dosen Pembimbing Utama mahasiswa sebagai tersebut di bawah ini :

+ + + + + + + + + + + + + + + + + + + + + +
Nama: {{$nama_mahasiswa}}
NIM: {{$nim}}
Judul Skripsi:{{$judul_seminar_proposal}}
Similarity: {{$nilai_plagiasi}} %
+

Menyatakan bahwa skripsi dengan judul tersebut diatas bebas plagiasi berdasarkan penelurusan menggunakan program Turnitin dengan tingkat similarity 25% untuk satu referensi dan maksimal 30%.

+

Demikian untuk diketahui dan dipergunakan sebagaimana mestinya.

+ + + + + + + + + + + + + + + + + + + + +
Jember, {{ $date }}
Pembuat Pernyataan
+ + + +
{{ $dosen_dpu_nama_gelar }}
NIP. {{ $dosen_dpu_nip }} +
+ +{{--

--}} + + \ No newline at end of file diff --git a/resources/views/layanan-sempro/ettd.blade.php b/resources/views/layanan-sempro/ettd.blade.php index 33b62fa..c058f8a 100644 --- a/resources/views/layanan-sempro/ettd.blade.php +++ b/resources/views/layanan-sempro/ettd.blade.php @@ -3,7 +3,7 @@ - {{ $title }} + {{ $title }} {{$jenis}} @@ -18,7 +18,6 @@
- @if($jenis!="Komisi Bimbingan")
@@ -43,7 +42,7 @@
Tanda Tangan Oleh
- @if(request('url')=="dpu") {{ $data->dosen_dpu_nama_gelar }} @elseif(request('url')=="dpa") {{ $data->dosen_dpa_nama_gelar }}@endif + {{ $data->dosen_dpu_nama_gelar }}
@@ -63,7 +62,7 @@
@endif -
+ @csrf @@ -85,74 +84,6 @@
- @elseif($jenis=="Komisi Bimbingan") -
-
-
-
-

{{$data['caseid']}}

-
{{$jenis}}
-
- -
- @if(session('success')) -
-
    -
  • {{ session('success') }}
  • -
-
- @endif - @if(session('error')) -
-
    -
  • {{ session('error') }}
  • -
-
- @endif - - @csrf - - - - - - - - - - -
- -
- -
- -
-
-
- @endif diff --git a/resources/views/layanan-sempro/index.blade.php b/resources/views/layanan-sempro/index.blade.php index f820ee6..478f5c0 100644 --- a/resources/views/layanan-sempro/index.blade.php +++ b/resources/views/layanan-sempro/index.blade.php @@ -17,12 +17,12 @@
-

Pengajuan DPU / DPA

+

Pengajuan Seminar Proposal

@@ -66,8 +66,8 @@ CaseID NIM + Nama DPU - DPA Action @@ -76,18 +76,18 @@ {{ $datas->caseid }} {{ $datas->nim }} + {{ $datas->nama }} {{ $datas->dpu_nama_gelar }} - {{ $datas->dpa_nama_gelar }} - | + | @if($datas->ttd_operator=="-") - | - + | + @endif -