MIF_E31211891/app/Http/Controllers/DashboardController.php

143 lines
5.1 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\User;
use App\Models\Pengajuan;
use App\Models\SeminarJadwal;
use App\Models\SettingPengajuan;
use App\Models\SettingSempro;
use App\Models\SettingSidang;
use App\Models\SidangJadwal;
use App\Models\Subkriteria;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class DashboardController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
if (Auth::User()->role == 'Admin') {
$dosen = User::where('role', 'Dosen')->count();
$mahasiswa = User::where('role', 'Mahasiswa')->count();
$diajukan = Pengajuan::where('status', 'Menunggu Persetujuan')->count();
$no = 1;
$pengajuan = Pengajuan::where('status', 'Menunggu Persetujuan')->take(5)->orderBy('updated_at', 'DESC')->get();
return view('dashboard-admin', compact('dosen', 'mahasiswa', 'diajukan', 'no', 'pengajuan'));
} elseif (Auth::User()->role == 'Dosen') {
$diajukan = Pengajuan::where('status', 'Menunggu Persetujuan')->where('id_dosen_pembimbing', Auth::user()->id)->count();
$disetujui = Pengajuan::where('status', 'Disetujui')->where('id_dosen_pembimbing', Auth::user()->id)->count();
$no = 1;
$pengajuan = Pengajuan::where('status', 'Menunggu Persetujuan')->where('id_dosen_pembimbing', Auth::user()->id)->take(5)->orderBy('updated_at', 'DESC')->get();
$kategori = Subkriteria::where('id_kriteria', '1')->get();
$jabatan = Subkriteria::where('id_kriteria', '2')->get();
return view('dashboard-dosen', compact('diajukan', 'disetujui', 'no', 'pengajuan', 'kategori', 'jabatan'));
} else if (Auth::User()->role == 'Mahasiswa') {
$kategori = Subkriteria::where('id_kriteria', '1')->get();
$jabatan = Subkriteria::where('id_kriteria', '2')->get();
$settingPengajuan = SettingPengajuan::first();
$tglMulai = $settingPengajuan ? $settingPengajuan->tglMulai : NULL;
$tglSelesai = $settingPengajuan ? $settingPengajuan->tglSelesai : NULL;
$settingSempro = SettingSempro::first();
$mulaiSempro = $settingSempro ? $settingSempro->tgl_mulai_pendaftaran : NULL;
$akhirSempro = $settingSempro ? $settingSempro->tgl_akhir_pendaftaran : NULL;
$settingSidang = SettingSidang::first();
$mulaiSidang = $settingSidang ? $settingSidang->tgl_mulai_pendaftaran : NULL;
$akhirSidang = $settingSidang ? $settingSidang->tgl_akhir_pendaftaran : NULL;
$userID = auth()->id();
// Ambil tanggal seminar dari SeminarJadwal untuk user ID tertentu
$tanggalSeminar = SeminarJadwal::where('id_mahasiswa', $userID)
->pluck('tanggal_seminar')
->first();
// Jika ada tanggal seminar, ubah formatnya menjadi "DD-MM-YYYY"
if ($tanggalSeminar) {
$tanggalSeminar = date('d-m-Y', strtotime($tanggalSeminar));
}
// Ambil tanggal sidang dari SidangJadwal untuk user ID tertentu
$tanggalSidang = SidangJadwal::where('id_mahasiswa', $userID)
->pluck('tanggal_sidang')
->first();
// Jika ada tanggal sidang, ubah formatnya menjadi "DD-MM-YYYY"
if ($tanggalSidang) {
$tanggalSidang = date('d-m-Y', strtotime($tanggalSidang));
}
return view('dashboard-mahasiswa', compact('kategori', 'jabatan', 'tglMulai', 'tglSelesai', 'mulaiSempro', 'akhirSempro', 'mulaiSidang', 'akhirSidang'));
} else {
return view('welcome');
}
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, $id)
{
if (Auth::User()->role == 'Dosen') {
$request->validate([
'name' => 'required',
'nomor' => 'required',
'prodi' => 'required',
'jabatan' => 'required',
'keahlian' => 'required',
'minat' => 'required',
]);
$dosen = User::find($id);
$dosen->update($request->all());
return redirect('dashboard')->with('toast_success', 'Perubahan Berhasil Disimpan.');
} elseif (Auth::User()->role == 'Mahasiswa') {
$request->validate([
'name' => 'required',
'nomor' => 'required',
'golongan' => 'required',
'angkatan' => 'required',
]);
$mahasiswa = User::find($id);
$mahasiswa->update($request->all());
return redirect('dashboard')->with('toast_success', 'Perubahan Berhasil Disimpan.');
}
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
//
}
}