79 lines
2.2 KiB
PHP
79 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\BasisAhp;
|
|
use App\Models\MapelUn;
|
|
use App\Models\Jurusan;
|
|
use Illuminate\Http\Request;
|
|
|
|
class BasisAhpController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
// fetch paginated BasisAhp entries
|
|
$items = BasisAhp::with(['mapel','jurusan'])->get();
|
|
|
|
// fetch all mapels & jurusans for the modal selects
|
|
$mapels = MapelUn::paginate(15);
|
|
$jurusans = Jurusan::all();
|
|
|
|
// pass everything to the single index/modal view
|
|
return view('admin.pengetahuanahp', compact('items','mapels','jurusans'));
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$v = $request->validate([
|
|
'mapel_id' => 'required|exists:mapel_un,id',
|
|
'jurusan_id' => 'required|exists:jurusan,id',
|
|
'cf_value' => 'required|numeric',
|
|
]);
|
|
BasisAhp::create($v);
|
|
return redirect()->route('admin.basis-ahp.index')
|
|
->with('success','Basis AHP added.');
|
|
}
|
|
|
|
public function edit(BasisAhp $basisAhp)
|
|
{
|
|
// not used since edit happens in modal on index
|
|
abort(404);
|
|
}
|
|
|
|
public function update(Request $request, $mapel_id)
|
|
{
|
|
foreach ($request->cf_values as $jurusan_id => $cf_value) {
|
|
BasisAhp::updateOrCreate(
|
|
['mapel_id' => $mapel_id, 'jurusan_id' => $jurusan_id],
|
|
['cf_value' => $cf_value]
|
|
);
|
|
}
|
|
|
|
return back()->with('success', 'Berhasil diperbarui');
|
|
}
|
|
|
|
public function destroy(Request $request)
|
|
{
|
|
$request->validate([
|
|
'mapel_id' => 'required|integer',
|
|
'jurusan_id' => 'required|integer',
|
|
]);
|
|
|
|
BasisAhp::where('mapel_id', $request->mapel_id)
|
|
->where('jurusan_id', $request->jurusan_id)
|
|
->delete();
|
|
|
|
return response()->json(['success' => 'Data berhasil dihapus.']);
|
|
}
|
|
|
|
public function destroyViaUrl($mapel_id, $jurusan_id)
|
|
{
|
|
BasisAhp::where('mapel_id', $mapel_id)
|
|
->where('jurusan_id', $jurusan_id)
|
|
->delete();
|
|
|
|
return redirect()->back()->with('success', 'Data berhasil dihapus.');
|
|
}
|
|
}
|