pintu2/app/Http/Controllers/MahasiswaController.php

142 lines
6.0 KiB
PHP
Raw Normal View History

2024-02-27 22:53:57 +07:00
<?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
2024-03-02 18:06:48 +07:00
$dosen = User::role('Dosen')->get();
2024-02-27 22:53:57 +07:00
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',
]);
2024-03-02 18:06:48 +07:00
$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');
2024-02-27 22:53:57 +07:00
}
return back()->withInput();
}
public function update(Request $request){
2024-03-02 18:06:48 +07:00
$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',
2024-04-17 16:27:09 +07:00
// 'dosen_penguji1_id'=>'required|numeric',
// 'dosen_penguji2_id'=>'required|numeric',
2024-03-02 18:06:48 +07:00
],[
'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',
2024-04-17 16:27:09 +07:00
// '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',
2024-03-02 18:06:48 +07:00
]);
$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;
2024-04-17 16:27:09 +07:00
//jika penguji kosong, maka save ini
2024-03-02 18:06:48 +07:00
2024-04-17 16:27:09 +07:00
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;
2024-03-02 18:06:48 +07:00
if($mahasiswa->save()){
return redirect()->route('mahasiswa.index')->with('success','Data Telah Berhasil Disimpan');
}
2024-04-17 16:27:09 +07:00
2024-03-02 18:06:48 +07:00
return back()->withInput();
2024-02-27 22:53:57 +07:00
}
public function destroy(Request $request){
2024-03-02 18:06:48 +07:00
$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');
2024-02-27 22:53:57 +07:00
}
}