164 lines
5.0 KiB
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');
|
|
}
|
|
}
|