crud peneliti asing

parent 288c30f2
...@@ -5,6 +5,7 @@ namespace App\Http\Controllers; ...@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\Models\Biodata; use App\Models\Biodata;
use Exception; use Exception;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\Admin\MsBidangPenelitianKategori as MsBidangPenelitianKategori;
class GetDataController extends Controller class GetDataController extends Controller
{ {
...@@ -19,4 +20,17 @@ class GetDataController extends Controller ...@@ -19,4 +20,17 @@ class GetDataController extends Controller
return response('Not Found', 404); return response('Not Found', 404);
} }
} }
public function getChildren(Request $request)
{
$class = 'App\\Models\\Admin\\'.$request->parent;
$parent = $class::query()->with('children')->find(decrypt($request->id));
$children = $parent->children;
$str = '';
foreach ($children as $child) {
$str .= '<option value="'.encrypt($child->id).'">'.$child->nama.'</option>';
}
return response($str, 200);
}
} }
...@@ -19,7 +19,7 @@ class KekayaanIntelController extends Controller ...@@ -19,7 +19,7 @@ class KekayaanIntelController extends Controller
*/ */
public function index() public function index()
{ {
$data = KekayaanIntelektual::query()->orderBy('updated_at', 'desc')->get(); $data = KekayaanIntelektual::query()->with('dosen')->orderBy('updated_at', 'desc')->get();
return view('user.kekayaan.index', ['data' => $data]); return view('user.kekayaan.index', ['data' => $data]);
} }
......
...@@ -3,7 +3,13 @@ ...@@ -3,7 +3,13 @@
namespace App\Http\Controllers\User; namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Admin\MsBidangKepakaranKategori;
use App\Models\Admin\MsBidangPenelitianKategori;
use App\Models\Admin\MsNegara;
use App\Models\User\PenelitiAsing;
use Exception;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Validator;
class PenelitiAsingController extends Controller class PenelitiAsingController extends Controller
{ {
...@@ -14,8 +20,8 @@ class PenelitiAsingController extends Controller ...@@ -14,8 +20,8 @@ class PenelitiAsingController extends Controller
*/ */
public function index() public function index()
{ {
// $data['rs'] = PenelitiAsing::query()->with(['negara', 'bidang'])->orderBy('updated_at')->get();
return view('user.penelitiasing.index'); return view('user.penelitiasing.index', $data);
} }
/** /**
...@@ -25,64 +31,105 @@ class PenelitiAsingController extends Controller ...@@ -25,64 +31,105 @@ class PenelitiAsingController extends Controller
*/ */
public function create() public function create()
{ {
// $kategori = MsBidangKepakaranKategori::query()->orderBy('namabidang')->get();
return view('user.penelitiasing.create'); $negara = MsNegara::query()->orderBy('nama', 'asc')->get();
return view('user.penelitiasing.create', [
'kategori' => $kategori,
'negara' => $negara,
'edit' => false
]);
} }
/** /**
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function store(Request $request) public function store(Request $request)
{ {
// $data = $request->except('_token');
Validator::make($data, PenelitiAsing::RULES, PenelitiAsing::ERROR_MESSAGES)->validate();
$data['bidang_id'] = decrypt($data['bidang_id']);
$data['negara_id'] = decrypt($data['negara_id']);
try{
PenelitiAsing::query()->create($data);
return redirect()->route('penelitiasing.index');
}
catch(Exception $ex){
return redirect()->back()->withInput();
}
} }
/** /**
* Display the specified resource. * Display the specified resource.
* *
* @param int $id * @param int $id
*
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function show($id) public function show($id)
{ {
//
} }
/** /**
* Show the form for editing the specified resource. * Show the form for editing the specified resource.
* *
* @param int $id * @param int $id
*
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function edit($id) public function edit($id)
{ {
// $data['kategori'] = MsBidangKepakaranKategori::query()->orderBy('namabidang')->get();
$data['negara'] = MsNegara::query()->orderBy('nama', 'asc')->get();
$data['edit'] = true;
$data['data'] = PenelitiAsing::query()->find(decrypt($id));
return view('user.penelitiasing.create', $data);
} }
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
*
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update(Request $request, $id)
{ {
// $data = $request->except('_token');
Validator::make($data, PenelitiAsing::RULES, PenelitiAsing::ERROR_MESSAGES)->validate();
$data['bidang_id'] = decrypt($data['bidang_id']);
$data['negara_id'] = decrypt($data['negara_id']);
try{
PenelitiAsing::query()->find(decrypt($id))->update($data);
return redirect()->route('penelitiasing.index');
}
catch(Exception $ex){
return redirect()->back()->withInput();
}
} }
/** /**
* Remove the specified resource from storage. * Remove the specified resource from storage.
* *
* @param int $id * @param int $id
*
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function destroy($id) public function destroy($id)
{ {
// try{
PenelitiAsing::query()->find(decrypt($id))->delete();
return redirect()->route('penelitiasing.index');
}
catch(Exception $ex){
return redirect()->route('penelitiasing.index');
}
} }
} }
<?php
namespace App\Models\Admin;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class MsBidangKepakaran extends Model
{
use HasFactory;
public $incrementing = false;
protected $table = 'ms_bidang_kepakaran';
protected $keyType = 'string';
}
<?php
namespace App\Models\Admin;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class MsBidangKepakaranKategori extends Model
{
use HasFactory;
public $incrementing = false;
protected $table = 'ms_bidang_kepakaran_kategori';
protected $keyType = 'string';
public function children()
{
return $this->hasMany(MsBidangKepakaran::class, 'id_kategori_kepakaran', 'id');
}
}
<?php
namespace App\Models\Admin;
use App\Traits\UuidTrait;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class MsBidangPenelitian extends Model
{
use HasFactory;
use UuidTrait;
public $incrementing = false;
protected $table = 'ms_bidang_penelitian';
protected $keyType = 'string';
}
<?php
namespace App\Models\Admin;
use App\Traits\UuidTrait;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class MsBidangPenelitianKategori extends Model
{
use HasFactory;
use UuidTrait;
public $incrementing = false;
protected $table = 'ms_bidang_penelitian_kategori';
protected $keyType = 'string';
public function children()
{
return $this->hasMany(MsBidangPenelitian::class, 'id_kategori', 'id');
}
}
<?php
namespace App\Models\Admin;
use App\Traits\UuidTrait;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class MsNegara extends Model
{
use HasFactory;
use UuidTrait;
public $incrementing = false;
protected $table = 'ms_negara';
protected $keyType = 'string';
}
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
namespace App\Models\User; namespace App\Models\User;
use App\Models\Admin\MsBidangKepakaran;
use App\Models\Admin\MsNegara;
use App\Traits\UuidTrait; use App\Traits\UuidTrait;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
...@@ -16,6 +18,36 @@ class PenelitiAsing extends Model ...@@ -16,6 +18,36 @@ class PenelitiAsing extends Model
protected $keyType = 'string'; protected $keyType = 'string';
protected $fillable = [ protected $fillable = [
'id', 'nama', 'jenis_kelamin', 'institusi', 'negara', 'pendidikan', 'bidang', 'lamatinggal', 'userid_created', 'userid_updated', 'created_at', 'updated_at', 'id', 'nama', 'jenis_kelamin', 'institusi', 'negara_id', 'pendidikan', 'bidang_id', 'lamatinggal', 'userid_created', 'userid_updated', 'created_at', 'updated_at',
]; ];
public const RULES = [
'nama' => 'required',
'jenis_kelamin' => 'required',
'institusi' => 'required',
'negara_id' => 'required',
'pendidikan' => 'required',
'bidang_id' => 'required',
'lamatinggal' => 'required',
];
public const ERROR_MESSAGES = [
'nama.required' => 'nama tidak boleh kosong',
'jenis_kelamin.required' => 'jenis_kelamin tidak boleh kosong',
'institusi.required' => 'institusi tidak boleh kosong',
'negara_id.required' => 'negara tidak boleh kosong',
'pendidikan.required' => 'pendidikan tidak boleh kosong',
'bidang_id.required' => 'bidang tidak boleh kosong',
'lamatinggal.required' => 'lamatinggal tidak boleh kosong',
];
public function negara()
{
return $this->belongsTo(MsNegara::class, 'negara_id', 'id');
}
public function bidang()
{
return $this->belongsTo(MsBidangKepakaran::class, 'bidang_id', 'id');
}
} }
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
{{ $item->nidn }} {{ $item->nidn }}
</td> </td>
<td> <td>
<a class="btn btn-warning" href="{{ route('kekayaanintelek.edit', ['kekayaanintelek' => encrypt($item->id)]) }}">Hapus</a> <a class="btn btn-warning" href="{{ route('kekayaanintelek.edit', ['kekayaanintelek' => encrypt($item->id)]) }}">Edit</a>
<button class="btn btn-danger delete" type="button" data-target="form_kekayaan_{{ $loop->iteration }}">Hapus</button> <button class="btn btn-danger delete" type="button" data-target="form_kekayaan_{{ $loop->iteration }}">Hapus</button>
<form id="form_kekayaan_{{ $loop->iteration }}" action="{{ route('kekayaanintelek.destroy', ['kekayaanintelek' => encrypt($item->id)]) }}" method="POST"> <form id="form_kekayaan_{{ $loop->iteration }}" action="{{ route('kekayaanintelek.destroy', ['kekayaanintelek' => encrypt($item->id)]) }}" method="POST">
{{ method_field('DELETE') }} {{ method_field('DELETE') }}
......
...@@ -15,13 +15,17 @@ ...@@ -15,13 +15,17 @@
$menu = 'dashboard'; $menu = 'dashboard';
@endphp @endphp
<div class="account-settings-container layout-top-spacing"> <div class="account-settings-container layout-top-spacing">
<form id="contact" class="section contact" action="{{ $edit ? route('penelitiasing.update', ['penelitiasing' => encrypt($data->id)]) : route('penelitiasing.store') }}" method="POST">
<div class="account-content"> <div class="account-content">
<div class="scrollspy-example" data-spy="scroll" data-target="#account-settings-scroll" data-offset="-100"> <div class="scrollspy-example" data-spy="scroll" data-target="#account-settings-scroll" data-offset="-100">
<div class="row"> <div class="row">
@if ($edit)
{{ method_field('PUT') }}
@endif
<div class="col-xl-12 col-lg-12 col-md-12 layout-spacing"> <div class="col-xl-12 col-lg-12 col-md-12 layout-spacing">
<form id="contact" class="section contact"> @csrf
<div class="info"> <div class="info">
<h5 class="">Data Peneliti Asing</h5> <h5 class="">Data Peneliti Asing</h5>
<div class="row"> <div class="row">
...@@ -30,7 +34,7 @@ ...@@ -30,7 +34,7 @@
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>Nama Lengkap & Gelar</label> <label>Nama Lengkap & Gelar</label>
<input type="text" class="form-control mb-4" id="unit_pelaksanaan" placeholder="Nama Lengkap & Gelar"> <input type="text" class="form-control mb-4" id="unit_pelaksanaan" placeholder="Nama Lengkap & Gelar" name="nama" value="{{ $edit ? $data->nama : old('nama') }}" required>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
...@@ -38,58 +42,73 @@ ...@@ -38,58 +42,73 @@
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>Jenis Kelamin</label> <label>Jenis Kelamin</label>
<select class="form-control" id="status"> <select class="form-control" id="jenis-kelamin" name="jenis_kelamin" required>
<option>Laki-Laki</option> <option {{ $edit ? ($data->jenis_kelamin == 'Laki-Laki' ? 'selected' : '') : '' }}>Laki-Laki</option>
<option>Perempuan</option> <option {{ $edit ? ($data->jenis_kelamin == 'Perempuan' ? 'selected' : '') : '' }}>Perempuan</option>
</select> </select>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>Institusi Asal</label> <label>Institusi Asal</label>
<input type="text" class="form-control mb-4" id="unit_pelaksanaan" placeholder="Institusi Asal"> <input type="text" class="form-control mb-4" id="unit_pelaksanaan" name="institusi" placeholder="Institusi Asal" value="{{ $edit ? $data->institusi : old('institusi') }}" required>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>Jenis Kelamin</label> <label>Negara</label>
<select class="form-control" id="jenis_kelamin"> <select class="form-control" id="negara" name="negara_id" required>
<option>Laki-Laki</option> <option value="">Pilih Negara</option>
<option>Perempuan</option> @foreach ($negara as $item)
<option value="{{ encrypt($item->id) }}" {{ $edit ? ($data->negara_id == $item->id ? 'selected' : '') : (old('negara_id') ? (decrypt(old('negara_id')) == $item->id ? 'selected' : '') : '') }}>{{ $item->nama }}</option>
@endforeach
</select> </select>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>Pendidikan Tertinggi</label> <label>Pendidikan Tertinggi</label>
<select class="form-control" id="pendidikan"> <select class="form-control" id="pendidikan" name="pendidikan" required>
<option>Master</option> <option {{ $edit ? ($data->pendidikan == 'Master' ? 'selected' : '') : '' }}>Master</option>
<option>Doctor</option> <option {{ $edit ? ($data->pendidikan == 'Doctor' ? 'selected' : '') : '' }}>Doctor</option>
</select> </select>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>Bidang Kepakaran</label> <label>Bidang Kepakaran</label>
<select class="form-control" id="bidangkepakaran"> <div class="row">
<option>Master</option> <div class="col-md-6">
<option>Doctor</option> <select class="form-control" id="bidang-kepakaran-kategori" onchange="getChildren(this)" data-parent="MsBidangKepakaranKategori" data-target="bidang-kepakaran">
<option value="">Pilih Kategori</option>
@foreach ($kategori as $item)
<option value="{{ encrypt($item->id) }}">{{ $item->namabidang }}</option>
@endforeach
</select> </select>
</div> </div>
<div class="col-md-6">
<select class="form-control" id="bidang-kepakaran" name="bidang_id" required>
@if ($edit)
<option value="{{ encrypt($data->bidang_id) }}">{{ $data->bidang->nama }}</option>
@endif
</select>
</div>
</div>
</div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label>Lama Tinggal</label> <label>Lama Tinggal</label>
<input type="text" class="form-control mb-4" id="nomor_kontrak" placeholder="Lama Tinggal"> <input type="text" class="form-control mb-4" id="nomor_kontrak" placeholder="Lama Tinggal" name="lamatinggal" value="{{ $edit ? $data->lamatinggal : old('lamatinggal') }}" required>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</form>
</div> </div>
</div> </div>
...@@ -102,6 +121,7 @@ ...@@ -102,6 +121,7 @@
<button id="multiple-messages" class="btn btn-primary">Save Changes</button> <button id="multiple-messages" class="btn btn-primary">Save Changes</button>
</div> </div>
</div> </div>
</form>
</div> </div>
@endsection @endsection
...@@ -109,4 +129,20 @@ ...@@ -109,4 +129,20 @@
@section('js') @section('js')
<script src="{{ url('theme/plugins/apex/apexcharts.min.js') }} "></script> <script src="{{ url('theme/plugins/apex/apexcharts.min.js') }} "></script>
<script src="{{ url('theme/assets/js/dashboard/dash_2.js') }} "></script> <script src="{{ url('theme/assets/js/dashboard/dash_2.js') }} "></script>
<script>
function getChildren(element){
var parent = $(element).data('parent');
var id = $(element).val();
var target = $("#"+$(element).data('target'));
var request = $.ajax({
url: "{{ route('get-children') }}",
type: "GET",
dataType: "html",
data: {parent: parent, id: id},
success: function(result){
target.html(result);
}
})
}
</script>
@endsection @endsection
...@@ -22,127 +22,36 @@ ...@@ -22,127 +22,36 @@
<table id="zero-config" class="table table-hover" style="width:100%"> <table id="zero-config" class="table table-hover" style="width:100%">
<thead> <thead>
<tr> <tr>
<th>Name</th> <th>Nama</th>
<th>Position</th> <th>Jenis Kelamin</th>
<th>Office</th> <th>Institusi</th>
<th>Age</th> <th>Negara</th>
<th>Start date</th> <th>Pendidikan</th>
<th>Salary</th> <th>Bidang</th>
<th>Lama Tinggal</th>
<th>Aksi</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@foreach ($rs as $item)
<tr> <tr>
<td>Tiger Nixon</td> <td>{{ $item->nama }}</td>
<td>System Architect</td> <td>{{ $item->jenis_kelamin }}</td>
<td>Edinburgh</td> <td>{{ $item->institusi }}</td>
<td>61</td> <td>{{ $item->negara->nama }}</td>
<td>2011/04/25</td> <td>{{ $item->pendidikan }}</td>
<td>$320,800</td> <td>{{ $item->bidang->nama }}</td>
</tr> <td>{{ $item->lamatinggal }}</td>
<tr> <td>
<td>Garrett Winters</td> <a class="btn btn-warning" href="{{ route('penelitiasing.edit', ['penelitiasing' => encrypt($item->id)]) }}">Edit</a>
<td>Accountant</td> <button class="btn btn-danger delete" type="button" data-target="form_peneliti_{{ $loop->iteration }}">Hapus</button>
<td>Tokyo</td> <form id="form_peneliti_{{ $loop->iteration }}" action="{{ route('penelitiasing.destroy', ['penelitiasing' => encrypt($item->id)]) }}" method="POST">
<td>63</td> {{ method_field('DELETE') }}
<td>2011/07/25</td> @csrf
<td>$170,750</td> </form>
</tr> </td>
<tr>
<td>Ashton Cox</td>
<td>Junior Technical Author</td>
<td>San Francisco</td>
<td>66</td>
<td>2009/01/12</td>
<td>$86,000</td>
</tr>
<tr>
<td>Cedric Kelly</td>
<td>Senior Javascript Developer</td>
<td>Edinburgh</td>
<td>22</td>
<td>2012/03/29</td>
<td>$433,060</td>
</tr>
<tr>
<td>Airi Satou</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>33</td>
<td>2008/11/28</td>
<td>$162,700</td>
</tr>
<tr>
<td>Brielle Williamson</td>
<td>Integration Specialist</td>
<td>New York</td>
<td>61</td>
<td>2012/12/02</td>
<td>$372,000</td>
</tr>
<tr>
<td>Herrod Chandler</td>
<td>Sales Assistant</td>
<td>San Francisco</td>
<td>59</td>
<td>2012/08/06</td>
<td>$137,500</td>
</tr>
<tr>
<td>Rhona Davidson</td>
<td>Integration Specialist</td>
<td>Tokyo</td>
<td>55</td>
<td>2010/10/14</td>
<td>$327,900</td>
</tr>
<tr>
<td>Colleen Hurst</td>
<td>Javascript Developer</td>
<td>San Francisco</td>
<td>39</td>
<td>2009/09/15</td>
<td>$205,500</td>
</tr>
<tr>
<td>Sonya Frost</td>
<td>Software Engineer</td>
<td>Edinburgh</td>
<td>23</td>
<td>2008/12/13</td>
<td>$103,600</td>
</tr>
<tr>
<td>Jena Gaines</td>
<td>Office Manager</td>
<td>London</td>
<td>30</td>
<td>2008/12/19</td>
<td>$90,560</td>
</tr>
<tr>
<td>Quinn Flynn</td>
<td>Support Lead</td>
<td>Edinburgh</td>
<td>22</td>
<td>2013/03/03</td>
<td>$342,000</td>
</tr>
<tr>
<td>Charde Marshall</td>
<td>Regional Director</td>
<td>San Francisco</td>
<td>36</td>
<td>2008/10/16</td>
<td>$470,600</td>
</tr>
<tr>
<td>Haley Kennedy</td>
<td>Senior Marketing Designer</td>
<td>London</td>
<td>43</td>
<td>2012/12/18</td>
<td>$313,500</td>
</tr> </tr>
@endforeach
</tbody> </tbody>
</table> </table>
</div> </div>
...@@ -168,5 +77,25 @@ ...@@ -168,5 +77,25 @@
"lengthMenu": [10, 20, 50], "lengthMenu": [10, 20, 50],
"pageLength": 10 "pageLength": 10
}); });
$("body").on("click", ".delete", function (e) {
e.preventDefault();
var id = $(this).data('target');
Swal.fire({
title: "Apakah Anda Yakin?",
text: "Anda akan menghapus data ini!",
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes",
cancelButtonText: "No"
}).then((result) => {
if (result.value) {
Swal.close();
$("#"+id).submit();
} else if (result.dismiss === Swal.DismissReason.cancel) {
Swal.fire('Dibatalkan', 'Data batal dihapus', 'error');
}
});
});
</script> </script>
@endsection @endsection
...@@ -34,13 +34,13 @@ Route::get('login', [LoginController::class, 'index'])->name('login'); ...@@ -34,13 +34,13 @@ Route::get('login', [LoginController::class, 'index'])->name('login');
Route::get('sso/{email}/{sessionid}', [LoginController::class, 'sso']); Route::get('sso/{email}/{sessionid}', [LoginController::class, 'sso']);
Route::middleware(['auth:sanctum', 'verified'])->group(function () { Route::middleware(['auth:sanctum', 'verified'])->group(function () {
Route::get('/dashboard', function () { Route::get('/dashboard', function () {
return view('dashboard'); return view('dashboard');
})->name('dashboard'); })->name('dashboard');
Route::get('/get-biodata', [GetDataController::class, 'getBiodata'])->name('get-biodata'); Route::get('/get-biodata', [GetDataController::class, 'getBiodata'])->name('get-biodata');
Route::get('/get-row-anggota', [PenelitianSumberDanaController::class, 'getRowAnggota'])->name('get-row-anggota'); Route::get('/get-row-anggota', [PenelitianSumberDanaController::class, 'getRowAnggota'])->name('get-row-anggota');
Route::get('/get-children', [GetDataController::class, 'getChildren'])->name('get-children');
Route::resource('/bukuajar', BukuAjarController::class); Route::resource('/bukuajar', BukuAjarController::class);
Route::resource('/fasilitas', FasilitasController::class); Route::resource('/fasilitas', FasilitasController::class);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment