penjadwalan-ga/app/Http/Controllers/Admin/SettingController.php

164 lines
5.0 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\DivisiGuru;
use App\Models\Guru;
use App\Models\Hari;
use App\Models\Sesi;
use Illuminate\Http\Request;
class SettingController extends Controller
{
public function index()
{
return view('admin.pages.settings.index');
}
public function masterDataIndex()
{
return view('admin.pages.master-data');
}
// Divisi Guru
public function divisiGuruIndex(){
$data = DivisiGuru::all();
return view('admin.pages.settings.divisi-guru', compact('data'));
}
public function divisiGuruStore(Request $request){
$validate = $request->validate(
['nama_divisi' => 'required|string'],
['nama_divisi.required' => 'Nama divisi harus diisi.']
);
$data = DivisiGuru::create($validate);
return redirect('/admin/settings/divisi-guru')->with('success', 'Divisi guru berhasil ditambahkan.');
}
public function divisiGuruUpdate(Request $request, $id){
$data = DivisiGuru::where('id', $id)->first();
$validate = $request->validate(
['nama_divisi' => 'required|string'],
['nama_divisi.required' => 'Nama divisi harus diisi.']
);
$data->update($validate);
return redirect('/admin/settings/divisi-guru')->with('success', 'Divisi guru berhasil diedit.');
}
public function divisiGuruDestroy($id){
$data = DivisiGuru::where('id', $id)->first();
$data->delete();
return redirect('/admin/settings/divisi-guru')->with('success', 'Divisi guru berhasil dihapus.');
}
// Master Sesi
public function masterSesiIndex(){
$data = Sesi::orderBy('id', 'asc')->get();
return view('admin.pages.settings.master-sesi', compact('data'));
}
public function masterSesiStore(Request $request){
$validate = $request->validate([
'nama_sesi' => 'required|string|max:255',
'jam' => 'required|string|max:255',
], [
'nama_sesi.required' => 'Nama sesi harus diisi.',
'jam.required' => 'Jam sesi harus diisi.',
]);
Sesi::create($validate);
return redirect('/admin/settings/master-sesi')->with('success', 'Master sesi berhasil ditambahkan.');
}
public function masterSesiUpdate(Request $request, $id){
$sesi = Sesi::findOrFail($id);
$validate = $request->validate([
'nama_sesi' => 'required|string|max:255',
'jam' => 'required|string|max:255',
], [
'nama_sesi.required' => 'Nama sesi harus diisi.',
'jam.required' => 'Jam sesi harus diisi.',
]);
$sesi->update($validate);
return redirect('/admin/settings/master-sesi')->with('success', 'Master sesi berhasil diperbarui.');
}
public function masterSesiDestroy($id){
$sesi = Sesi::findOrFail($id);
$sesi->delete();
return redirect('/admin/settings/master-sesi')->with('success', 'Master sesi berhasil dihapus.');
}
// Master Hari
public function masterHariIndex(){
$data = Hari::orderBy('id', 'asc')->get();
return view('admin.pages.settings.master-hari', compact('data'));
}
public function masterHariStore(Request $request){
$validate = $request->validate([
'nama_hari' => 'required|string|max:255',
], [
'nama_hari.required' => 'Nama hari harus diisi.',
]);
Hari::create($validate);
return redirect('/admin/settings/master-hari')->with('success', 'Master hari berhasil ditambahkan.');
}
public function masterHariUpdate(Request $request, $id){
$hari = Hari::findOrFail($id);
$validate = $request->validate([
'nama_hari' => 'required|string|max:255',
], [
'nama_hari.required' => 'Nama hari harus diisi.',
]);
$hari->update($validate);
return redirect('/admin/settings/master-hari')->with('success', 'Master hari berhasil diperbarui.');
}
public function masterHariDestroy($id){
$hari = Hari::findOrFail($id);
$hari->delete();
return redirect('/admin/settings/master-hari')->with('success', 'Master hari berhasil dihapus.');
}
public function ketersediaanIndex()
{
$setting = \App\Models\KetersediaanSetting::getRecord();
return view('admin.pages.settings.ketersediaan', compact('setting'));
}
public function ketersediaanUpdate(Request $request)
{
$setting = \App\Models\KetersediaanSetting::getRecord();
$setting->update([
'lock_edit' => $request->has('lock_edit') ? true : false,
]);
return redirect()->back()->with('success', 'Pengaturan ketersediaan mengajar berhasil disimpan.');
}
public function exportMasterData()
{
return \Maatwebsite\Excel\Facades\Excel::download(new \App\Exports\MasterDataExport, 'master_data_robotku_' . date('Y-m-d') . '.xlsx');
}
}