30c36e8acf
All checks were successful
Run Action to Production / run pull to sync on target message (push) Has been skipped
142 lines
6.0 KiB
PHP
142 lines
6.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Mahasiswa;
|
|
use App\Models\User;
|
|
use Illuminate\Http\Request;
|
|
|
|
class MahasiswaController extends Controller
|
|
{
|
|
|
|
public function index(){
|
|
//Ambil Semua Data Mahasiswa
|
|
$user = Mahasiswa::
|
|
select(
|
|
'mahasiswas.*',
|
|
'user_dosen_dpu.nama_gelar as dosen_dpu_name',
|
|
)
|
|
->join('users as user_dosen_dpu','mahasiswas.dosen_dpu_id','=','user_dosen_dpu.id')
|
|
->get();
|
|
//Ambil Semua Data User Dengan Role Name DOSEN
|
|
$dosen = User::role('Dosen')->get();
|
|
return view('mahasiswa.index',['title'=> 'Manajemen Mahasiswa | Admin Dashboard','user'=> $user,'dosen' => $dosen]);
|
|
}
|
|
|
|
public function store(Request $request){
|
|
$request->validate([
|
|
'nim'=>'required|numeric',
|
|
'nama'=>'required',
|
|
'nomor_hp'=>'required|numeric',
|
|
'email'=>'required|email',
|
|
'judul_seminar_proposal'=>'required',
|
|
'judul_skripsi_id'=>'required',
|
|
'judul_skripsi_en'=>'required',
|
|
'judul_jurnal'=>'required',
|
|
'judul_artikel'=>'required',
|
|
'bagian'=>'required|numeric',
|
|
'dosen_dpu_id'=>'required|numeric',
|
|
'dosen_dpa_id'=>'required|numeric',
|
|
'dosen_penguji1_id'=>'required|numeric',
|
|
'dosen_penguji2_id'=>'required|numeric',
|
|
],[
|
|
'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@mail.com/ mahasiswa@mail.unej.ac.id',
|
|
'dosen_dpu_id.numeric'=>'Dosen Pembimbing tidak valid, cek kembali Dosen Pembimbing yang dipilih',
|
|
'dosen_dpa_id.numeric'=>'Dosen Pembimbing tidak valid, cek kembali Dosen Pembimbing yang dipilih',
|
|
'dosen_penguji1_id.numeric'=>'Dosen Penguji tidak valid, cek kembali Dosen Penguji yang dipilih',
|
|
'dosen_penguji2_id.numeric'=>'Dosen Penguji tidak valid, cek kembali Dosen Penguji yang dipilih',
|
|
]);
|
|
$mahasiswa = new Mahasiswa;
|
|
$mahasiswa->nim = $request->nim;
|
|
$mahasiswa->nama = $request->nama;
|
|
$mahasiswa->nomor_hp = $request->nomor_hp;
|
|
$mahasiswa->email = $request->email;
|
|
$mahasiswa->bagian = $request->bagian;
|
|
$mahasiswa->dosen_dpu_id = $request->dosen_dpu_id;
|
|
$mahasiswa->dosen_dpa_id = $request->dosen_dpa_id;
|
|
$mahasiswa->dosen_penguji1_id = $request->dosen_penguji1_id;
|
|
$mahasiswa->dosen_penguji2_id = $request->dosen_penguji2_id;
|
|
$mahasiswa->judul_seminar_proposal = $request->judul_seminar_proposal;
|
|
$mahasiswa->judul_skripsi_id = $request->judul_skripsi_id;
|
|
$mahasiswa->judul_skripsi_en= $request->judul_skripsi_en;
|
|
$mahasiswa->judul_jurnal = $request->judul_jurnal;
|
|
$mahasiswa->judul_artikel = $request->judul_artikel;
|
|
|
|
if($mahasiswa->save()){
|
|
return redirect()->route('mahasiswa.index')->with('success','Data Telah Berhasil Disimpan');
|
|
}
|
|
return back()->withInput();
|
|
}
|
|
|
|
public function update(Request $request){
|
|
$request->validate([
|
|
'nim'=>'required|numeric',
|
|
'nama'=>'required',
|
|
'nomor_hp'=>'required|numeric',
|
|
'email'=>'required|email',
|
|
'judul_seminar_proposal'=>'required',
|
|
'judul_skripsi_id'=>'required',
|
|
'judul_skripsi_en'=>'required',
|
|
'judul_jurnal'=>'required',
|
|
'judul_artikel'=>'required',
|
|
'bagian'=>'required|numeric',
|
|
'dosen_dpu_id'=>'required|numeric',
|
|
'dosen_dpa_id'=>'required|numeric',
|
|
// 'dosen_penguji1_id'=>'required|numeric',
|
|
// 'dosen_penguji2_id'=>'required|numeric',
|
|
],[
|
|
'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@mail.com/ mahasiswa@mail.unej.ac.id',
|
|
'dosen_dpu_id.numeric'=>'Dosen Pembimbing tidak valid, cek kembali Dosen Pembimbing yang dipilih',
|
|
'dosen_dpa_id.numeric'=>'Dosen Pembimbing tidak valid, cek kembali Dosen Pembimbing yang dipilih',
|
|
// 'dosen_penguji1_id.numeric'=>'Dosen Penguji tidak valid, cek kembali Dosen Penguji yang dipilih',
|
|
// 'dosen_penguji2_id.numeric'=>'Dosen Penguji tidak valid, cek kembali Dosen Penguji yang dipilih',
|
|
]);
|
|
$mahasiswa = Mahasiswa::find($request->id);
|
|
$mahasiswa->nim = $request->nim;
|
|
$mahasiswa->nama = $request->nama;
|
|
$mahasiswa->nomor_hp = $request->nomor_hp;
|
|
$mahasiswa->email = $request->email;
|
|
$mahasiswa->bagian = $request->bagian;
|
|
$mahasiswa->dosen_dpu_id = $request->dosen_dpu_id;
|
|
$mahasiswa->dosen_dpa_id = $request->dosen_dpa_id;
|
|
$mahasiswa->judul_seminar_proposal = $request->judul_seminar_proposal;
|
|
$mahasiswa->judul_skripsi_id = $request->judul_skripsi_id;
|
|
$mahasiswa->judul_skripsi_en= $request->judul_skripsi_en;
|
|
$mahasiswa->judul_jurnal = $request->judul_jurnal;
|
|
$mahasiswa->judul_artikel = $request->judul_artikel;
|
|
|
|
//jika penguji kosong, maka save ini
|
|
|
|
if($request->dosen_penguji1_id == "Pilih Dosen Penguji Utama" && $request->dosen_penguji2_id == "Pilih Dosen Penguji Anggota"){
|
|
$mahasiswa->dosen_penguji1_id = 1;
|
|
$mahasiswa->dosen_penguji2_id = 1;
|
|
if($mahasiswa->save()){
|
|
return redirect()->route('mahasiswa.index')->with('success','Data Telah Berhasil Disimpan');
|
|
}
|
|
}
|
|
//jika penguji diisi maka save ini
|
|
$mahasiswa->dosen_penguji1_id = $request->dosen_penguji1_id;
|
|
$mahasiswa->dosen_penguji2_id = $request->dosen_penguji2_id;
|
|
if($mahasiswa->save()){
|
|
return redirect()->route('mahasiswa.index')->with('success','Data Telah Berhasil Disimpan');
|
|
}
|
|
|
|
return back()->withInput();
|
|
}
|
|
|
|
public function destroy(Request $request){
|
|
$mahasiswa = Mahasiswa::findOrFail($request->id);
|
|
if($mahasiswa->delete()){
|
|
return redirect()->route('mahasiswa.index')->with('success','Data Telah Dihapus');
|
|
}
|
|
return redirect()->route('mahasiswa.index')->with('error','Data Gagal Dihapus');
|
|
}
|
|
|
|
}
|