TIF_NGANJUK_E41211342/app/Http/Controllers/AdminBackend/AdminPeriodController.php

82 lines
2.9 KiB
PHP

<?php
namespace App\Http\Controllers\AdminBackend;
use App\Http\Controllers\Controller;
use App\Models\Periode;
use App\Models\PilihPeriode;
use Illuminate\Http\Request;
class AdminPeriodController extends Controller
{
public function index()
{
$periods = Periode::orderBy('id', 'desc')->get();
$selectPeriod = PilihPeriode::first();
if (!$selectPeriod->id_periode) {
$selectPeriod->id_periode = 'Belum Ditambahkan';
} else {
$checkPeriod = Periode::findOrFail($selectPeriod->id_periode);
if ($checkPeriod->semester == 1) {
$checkPeriod->semester = 'Ganjil';
} else {
$checkPeriod->semester = 'Genap';
}
$selectPeriod->period = $checkPeriod->semester . ' ' . $checkPeriod->tahun;
}
return view('admin_backend.admin_period', compact('periods', 'selectPeriod'));
}
public function store(Request $request)
{
$semester = $request->semester;
$tahunAwal = $request->tahun_awal;
$tahunAkhir = $request->tahun_akhir;
$tahun = $tahunAwal . '/' . $tahunAkhir;
$checkPeriod = Periode::where('semester', $semester)->where('tahun', $tahun)->count();
if ($checkPeriod > 0) {
return redirect()->route('adminPeriod.index')->with('error', 'Gagal, periode yang anda buat sudah ada');
}
if ($tahunAkhir - $tahunAwal != 1) {
return redirect()->route('adminPeriod.index')->with('error', 'Gagal, tahun yang anda masukkan tidak valid');
}
Periode::create([
'semester' => $request->semester,
'tahun' => $tahun
]);
return redirect()->route('adminPeriod.index')->with('success', 'Periode semester baru berhasil dibuat');
}
public function update(Request $request, $id)
{
$semester = $request->semester;
$tahunAwal = $request->tahun_awal;
$tahunAkhir = $request->tahun_akhir;
$tahun = $tahunAwal . '/' . $tahunAkhir;
$checkPeriod = Periode::where('semester', $semester)->where('tahun', $tahun)->count();
if ($checkPeriod > 0) {
return redirect()->route('adminPeriod.index')->with('error', 'Gagal, periode yang anda buat sudah ada');
}
if ($tahunAkhir - $tahunAwal != 1) {
return redirect()->route('adminPeriod.index')->with('error', 'Gagal, tahun yang anda masukkan tidak valid');
}
$period = Periode::findOrFail($id);
$period->semester = $semester;
$period->tahun = $tahun;
$period->update();
return redirect()->route('adminPeriod.index')->with('success', 'Periode tersebut telah diubah');
}
public function destroy($id)
{
$period = Periode::findOrFail($id);
$period->delete();
return redirect()->route('adminPeriod.index')->with('success', 'Periode tersebut telah dihapus');
}
}