MIF_E31220442/app/Http/Controllers/AdminController.php

71 lines
2.0 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\LamaranUser;
use App\Models\Alternatif;
use Illuminate\Support\Facades\Storage;
class AdminController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
// Tampilkan daftar lamaran yang belum dikonfirmasi
public function daftarLamaran()
{
$lamarans = LamaranUser::latest()->get();
return view('admin.home.blade', compact('lamarans'));
}
// Admin menerima lamaran dan memindahkan ke tabel alternatif
public function terimaLamaran($id)
{
$lamaran = LamaranUser::findOrFail($id);
Alternatif::create([
'nama_alternatif' => $lamaran->name,
'usia' => $lamaran->usia,
'pendidikan' => $lamaran->pendidikan,
'ipk' => $lamaran->ipk,
'jurusan' => $lamaran->jurusan,
'lama_studi' => $lamaran->lama_studi,
'pengalaman' => $lamaran->pengalaman,
'serkom' => $lamaran->serkom,
'cv' => $lamaran->cv,
'dokumen_pendukung' => $lamaran->dokumen_pendukung,
]);
// Hapus dari tabel lamaran_users
$lamaran->delete();
return redirect()->back()->with('msg', 'Lamaran berhasil diterima dan dipindahkan ke data pelamar.');
}
// ✅ Admin menolak lamaran dan menghapus datanya
public function tolakLamaran($id)
{
$lamaran = LamaranUser::findOrFail($id);
// Hapus file yang diupload
if (Storage::disk('public')->exists($lamaran->cv)) {
Storage::disk('public')->delete($lamaran->cv);
}
if ($lamaran->dokumen_pendukung) {
foreach (json_decode($lamaran->dokumen_pendukung, true) as $file) {
if (Storage::disk('public')->exists($file)) {
Storage::disk('public')->delete($file);
}
}
}
$lamaran->delete();
return redirect()->back()->with('msg', 'Lamaran ditolak dan data telah dihapus.');
}
}