143 lines
5.1 KiB
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)
|
|
{
|
|
//
|
|
}
|
|
}
|