pintu2/app/Http/Controllers/MahasiswaController.php
efbe 30c36e8acf
All checks were successful
Run Action to Production / run pull to sync on target message (push) Has been skipped
fix tampilan wisuda/yudisium
2024-07-25 12:02:16 +07:00

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');
}
}