main
Ilham Wara Nugroho 2026-04-20 13:22:53 +07:00
parent 9f23ba1776
commit 2787e75b81
12 changed files with 967 additions and 0 deletions

View File

@ -0,0 +1,140 @@
<?php
namespace App\Http\Controllers\Master;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Agency;
class AgencyController extends Controller
{
protected $title = 'Agency';
protected $template = 'modules.master.agency';
protected $route = 'modules.master.agency';
/**
* Display a listing of the resource.
*/
public function index()
{
$data['route'] = $this->route;
$data['title'] = $this->title;
return view($this->template.'.index',$data);
}
public function grid()
{
$data = Agency::all();
$_data = [];
foreach ($data as $key => $row) {
$btn = '<a href="' . url('master/agency/update/').'/'.encode_id($row->id). '" class="btn btn-sm w-100 mb-1 btn-primary">Edit</a>';
$btn .= ' <form action="' . route($this->route.'.destroy', $row->id) . '" method="POST" style="display: inline;" class="delete-form">';
$btn .= csrf_field();
$btn .= method_field('DELETE');
$btn .= '<button type="button" class="btn btn-sm btn-danger delete-button remove_data">Hapus</button>';
$btn .= '</form>';
if ($row->row_status == 1) {
$status = '<span class="badge bg-success">Aktif</span>';
} else {
$status = '<span class="badge bg-danger">Tidak Aktif</span>';
}
$_data[] = [
'no' => $key+1,
'name' => $row->name,
'scope' => $row->scope,
'status' => $status,
'action' => @$btn,
];
}
return response()->json($_data);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
$data['route'] = $this->route;
$data['title'] = $this->title;
return view($this->template.'.form',$data);
}
public function update($id = null)
{
$keyId = decode_id($id);
$data['title'] = $this->title;
$data['route'] = $this->route;
$data['keyId'] = $id;
$data['item'] = Agency::where('id',$keyId)->first();
return view($this->template.'.form',$data);
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'scope' => 'nullable|string',
]);
try {
if(@$request->secure_id){
$ag = Agency::find(decode_id(@$request->secure_id));
$ag->name = $request->name;
$ag->scope = $request->scope;
$ag->save();
}else{
$ag = new Agency;
$ag->name = $request->name;
$ag->scope = $request->scope;
$ag->row_status = 1;
$ag->save();
}
return redirect()->route($this->route.'.index')->with('success', 'Agency berhasil ditambahkan.');
} catch (\Exception $e) {
return back()->withErrors(['error' => 'Agency gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage()]);
}
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id)
{
$data['ar'] = Agency::find($id);
$data['route'] = $this->route;
$data['title'] = $this->title;
return view($this->template.'.form', $data);
}
/**
* Update the specified resource in storage.
*/
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
//
}
}

View File

@ -0,0 +1,136 @@
<?php
namespace App\Http\Controllers\Master;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Sector;
class SectorController extends Controller
{
protected $title = 'Sector';
protected $template = 'modules.master.sector';
protected $route = 'modules.master.sector';
/**
* Display a listing of the resource.
*/
public function index()
{
$data['route'] = $this->route;
$data['title'] = $this->title;
return view($this->template.'.index',$data);
}
public function grid()
{
$data = Sector::all();
$_data = [];
foreach ($data as $key => $row) {
$btn = '<a href="' . url('master/sector/').'/'.$row->code. '/subsector" class="btn btn-sm w-100 mb-1 btn-success">Sub Sector</a>';
$btn .= '<a href="' . url('master/sector/update/').'/'.encode_id($row->id). '" class="btn btn-sm w-100 mb-1 btn-primary">Edit</a>';
$btn .= ' <form action="' . route($this->route.'.destroy', $row->id) . '" method="POST" style="display: inline;" class="delete-form">';
$btn .= csrf_field();
$btn .= method_field('DELETE');
$btn .= '<button type="button" class="btn btn-sm btn-danger delete-button remove_data">Hapus</button>';
$btn .= '</form>';
$_data[] = [
'no' => $key+1,
'name' => $row->name,
'code' => $row->code,
'action' => @$btn,
];
}
return response()->json($_data);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
$data['route'] = $this->route;
$data['title'] = $this->title;
return view($this->template.'.form',$data);
}
public function update($id = null)
{
$keyId = decode_id($id);
$data['title'] = $this->title;
$data['route'] = $this->route;
$data['keyId'] = $id;
$data['item'] = Sector::where('id',$keyId)->first();
return view($this->template.'.form',$data);
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'code' => 'nullable|string',
]);
try {
if(@$request->secure_id){
$data = Sector::find(decode_id(@$request->secure_id));
$data->name = $request->name;
$data->code = $request->code;
$data->save();
}else{
$data = new Sector;
$data->name = $request->name;
$data->code = $request->code;
$data->row_num = $request->row_num;
$data->row_status = 1;
$data->save();
}
return redirect()->route($this->route.'.index')->with('success', 'Sector berhasil ditambahkan.');
} catch (\Exception $e) {
return back()->withErrors(['error' => 'Sector gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage()]);
}
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id)
{
$data['ar'] = Sector::find($id);
$data['route'] = $this->route;
$data['title'] = $this->title;
return view($this->template.'.form', $data);
}
/**
* Update the specified resource in storage.
*/
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
//
}
}

View File

@ -0,0 +1,143 @@
<?php
namespace App\Http\Controllers\Master;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Sector;
use App\Models\SubSector;
class SubSectorController extends Controller
{
protected $title = 'Sub Sector';
protected $template = 'modules.master.subsector';
protected $route = 'modules.master.subsector';
protected $url = 'master/sector/';
/**
* Display a listing of the resource.
*/
public function index($code)
{
$data['route'] = $this->route;
$data['url'] = $this->url.''.$code.'/subsector';
$data['title'] = $this->title;
$data['code'] = $code;
return view($this->template.'.index',$data);
}
public function grid($code)
{
$data = SubSector::where('sector_code',$code)->get();
$_data = [];
foreach ($data as $key => $row) {
$btn = '<a href="' . url('master/sector/'.$code.'/subsector/update/').'/'.encode_id($row->id). '" class="btn btn-sm w-100 mb-1 btn-primary">Edit</a>';
// $btn .= ' <form action="' . route($this->route.'.destroy', $row->id) . '" method="POST" style="display: inline;" class="delete-form">';
// $btn .= csrf_field();
// $btn .= method_field('DELETE');
// $btn .= '<button type="button" class="btn btn-sm btn-danger delete-button remove_data">Hapus</button>';
// $btn .= '</form>';
$_data[] = [
'no' => $key+1,
'name' => $row->name,
'code' => $row->code,
'action' => @$btn,
];
}
return response()->json($_data);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
$data['route'] = $this->route;
$data['title'] = $this->title;
return view($this->template.'.form',$data);
}
public function update($code,$id = null)
{
$keyId = decode_id($id);
$data['title'] = $this->title;
$data['route'] = $this->route;
$data['keyId'] = $id;
$data['code'] = $code;
$data['url'] = $this->url.''.$code.'/subsector';
$data['item'] = SubSector::where('id',$keyId)->first();
return view($this->template.'.form',$data);
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
// dd($request->all());
$request->validate([
'name' => 'required|string|max:255',
'code' => 'string',
]);
try {
if(@$request->secure_id){
$data = SubSector::find(decode_id(@$request->secure_id));
$data->name = $request->name;
$data->code = $request->code;
$data->save();
}else{
$data = new SubSector;
$data->sector_code = $request->sector_code;
$data->name = $request->name;
$data->code = $request->code;
$data->row_num = $request->row_num;
$data->row_status = 1;
$data->save();
}
return redirect()->back()->with('success', 'SubcSector berhasil diupdate.');
} catch (\Exception $e) {
return back()->withErrors(['error' => 'SubcSector gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage()]);
}
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id)
{
$data['ar'] = SubSector::find($id);
$data['route'] = $this->route;
$data['title'] = $this->title;
return view($this->template.'.form', $data);
}
/**
* Update the specified resource in storage.
*/
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
//
}
}

View File

@ -0,0 +1,13 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Concerns\HasUuids;
class Sector extends SigdModel
{
use HasUuids;
protected $table = 'sector';
protected $keyType = 'string';
protected $guarded = [];
}

View File

@ -0,0 +1,14 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Concerns\HasUuids;
class SubSector extends SigdModel
{
use HasUuids;
protected $table = 'sub_sector';
protected $keyType = 'string';
protected $guarded = [];
}

View File

@ -0,0 +1,61 @@
@extends('layouts.master')
@section('content')
<div class="">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<i class="mdi mdi-account"></i> {{$title}}
</div>
<form action="{{route($route.'.store')}}" method="POST" class="">
{{csrf_field()}}
<div class="card-body">
<div class="row">
<div class="col-md-12">
<input type="hidden" name="secure_id" value="{{@$keyId}}">
</div>
<div class="col-12 mb-3">
<div class="form-group">
<label class="col-xl-12 form-label">Scope</label>
<div class="col-12 ">
<input type="text" value="{{@$item->scope ? @$item->scope : old('scope')}}" name="scope" class="form-control @error('scope') is-invalid @enderror" placeholder="Masukan scope" required>
@error('scope')
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
</div>
<div class="col-12 mb-3">
<div class="form-group">
<label class="col-xl-12 form-label">Nama</label>
<div class="col-12 ">
<input type="text" value="{{@$item->name ? @$item->name : old('name')}}" name="name" class="form-control @error('name') is-invalid @enderror" placeholder="Masukan Nama" required>
@error('name')
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="row">
<div class="col-md-12 text-right">
<a href="{{route($route.'.index')}}" class="btn btn-danger"><i class="mdi mdi-cancel"></i> Batal</a>
<button type="submit" class="btn btn-success"><i class="mdi mdi-content-save-outline"></i> Simpan</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('js')
@endsection

View File

@ -0,0 +1,91 @@
@extends('layouts.master')
@section('css')
@endsection
@section('content')
<div class="page-content">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<div id="toolbar">
<a href="{{route($route.'.create')}}" id="btn-add" class="btn btn-primary">
<i class="mdi mdi-plus"></i> Tambah Data
</a>
</div>
<table class="table w-100"
data-search="true"
data-toggle="table"
data-pagination="true"
data-toolbar="#toolbar"
data-show-refresh="false"
data-url="{{route($route.'.grid')}}"
data-ajax-options='{"xhrFields": {"withCredentials": true}}'
data-sort-name="ids"
data-sort-order="desc"
data-page-size="10"
data-id-field="id"
id="grid-data">
<thead class="table-secondary text-primary">
<tr>
<th data-width="15%" class="text-center" data-field="action">#</th>
<th data-field="name">Nama</th>
<th data-field="scope">Scope</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('js')
<script type="text/javascript">
$("#grid-data").on("click", ".remove_data", function() {
var base_url = $(this).attr('data-href');
var id = $(this).attr('data-id');
Swal.fire({
title: "Hapus Data!",
text: "Apa anda yakin ingin menghapus data ini ?",
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Ya Hapus Sekarang",
cancelButtonText: "Tidak"
}).then((result) => {
if (result.isConfirmed) {
request = $.ajax({
url: base_url,
xhrFields: {
withCredentials: true
},
type: "GET",
});
// Callback handler that will be called on success
request.done(function(response, textStatus, jqXHR){
console.log(response);
alertify.success("Berhasil Menhapus Data");
$('#grid-data').bootstrapTable('refresh');
});
// Callback handler that will be called on failure
request.fail(function (jqXHR, textStatus, errorThrown){
alertify.error("Gagal " + textStatus, errorThrown);
});
}
});
return false;
});
</script>
@endsection

View File

@ -0,0 +1,73 @@
@extends('layouts.master')
@section('content')
<div class="">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<i class="mdi mdi-account"></i> {{$title}}
</div>
<form action="{{route($route.'.store')}}" method="POST" class="">
{{csrf_field()}}
<div class="card-body">
<div class="row">
<div class="col-md-12">
<input type="hidden" name="secure_id" value="{{@$keyId}}">
</div>
<div class="col-12 mb-3">
<div class="form-group">
<label class="col-xl-12 form-label">Code</label>
<div class="col-12 ">
<input type="text" value="{{@$item->code ? @$item->code : old('code')}}" name="code" class="form-control @error('code') is-invalid @enderror" placeholder="Masukan Code" required>
@error('code')
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
</div>
<div class="col-12 mb-3">
<div class="form-group">
<label class="col-xl-12 form-label">Nama</label>
<div class="col-12 ">
<input type="text" value="{{@$item->name ? @$item->name : old('name')}}" name="name" class="form-control @error('name') is-invalid @enderror" placeholder="Masukan Nama" required>
@error('name')
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
</div>
<div class="col-12 mb-3">
<div class="form-group">
<label class="col-xl-12 form-label">Nomor Baris</label>
<div class="col-12 ">
<input type="text" value="{{@$item->row_num ? @$item->row_num : old('row_num')}}" name="row_num" class="form-control @error('row_num') is-invalid @enderror" placeholder="Masukan Nomor Baris" required>
@error('row_num')
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="row">
<div class="col-md-12 text-right">
<a href="{{route($route.'.index')}}" class="btn btn-danger"><i class="mdi mdi-cancel"></i> Batal</a>
<button type="submit" class="btn btn-success"><i class="mdi mdi-content-save-outline"></i> Simpan</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('js')
@endsection

View File

@ -0,0 +1,91 @@
@extends('layouts.master')
@section('css')
@endsection
@section('content')
<div class="page-content">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<div id="toolbar">
<a href="{{route($route.'.create')}}" id="btn-add" class="btn btn-primary">
<i class="mdi mdi-plus"></i> Tambah Data
</a>
</div>
<table class="table w-100"
data-search="true"
data-toggle="table"
data-pagination="true"
data-toolbar="#toolbar"
data-show-refresh="false"
data-url="{{route($route.'.grid')}}"
data-ajax-options='{"xhrFields": {"withCredentials": true}}'
data-sort-name="ids"
data-sort-order="desc"
data-page-size="10"
data-id-field="id"
id="grid-data">
<thead class="table-secondary text-primary">
<tr>
<th data-width="15%" class="text-center" data-field="action">#</th>
<th data-field="name">Nama</th>
<th data-field="code">Code</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('js')
<script type="text/javascript">
$("#grid-data").on("click", ".remove_data", function() {
var base_url = $(this).attr('data-href');
var id = $(this).attr('data-id');
Swal.fire({
title: "Hapus Data!",
text: "Apa anda yakin ingin menghapus data ini ?",
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Ya Hapus Sekarang",
cancelButtonText: "Tidak"
}).then((result) => {
if (result.isConfirmed) {
request = $.ajax({
url: base_url,
xhrFields: {
withCredentials: true
},
type: "GET",
});
// Callback handler that will be called on success
request.done(function(response, textStatus, jqXHR){
console.log(response);
alertify.success("Berhasil Menhapus Data");
$('#grid-data').bootstrapTable('refresh');
});
// Callback handler that will be called on failure
request.fail(function (jqXHR, textStatus, errorThrown){
alertify.error("Gagal " + textStatus, errorThrown);
});
}
});
return false;
});
</script>
@endsection

View File

@ -0,0 +1,85 @@
@extends('layouts.master')
@section('content')
<div class="">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<i class="mdi mdi-account"></i> {{$title}}
</div>
<form action="{{url($url.'/store')}}" method="POST" class="">
{{csrf_field()}}
<div class="card-body">
<div class="row">
<div class="col-md-12">
<input type="hidden" name="secure_id" value="{{@$keyId}}">
</div>
<div class="col-12 mb-3">
<div class="form-group">
<label class="col-xl-12 form-label">Sector Code</label>
<div class="col-12 ">
<input type="text" value="{{@$code ? @$code : old('sector_code')}}" name="sector_code" class="form-control bg-secondary @error('sector_code') is-invalid @enderror" placeholder="Masukan Sector Code" readonly>
@error('sector_code')
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
</div>
<div class="col-12 mb-3">
<div class="form-group">
<label class="col-xl-12 form-label">Code</label>
<div class="col-12 ">
<input type="text" value="{{@$item->code ? @$item->code : old('code')}}" name="code" class="form-control @error('code') is-invalid @enderror" placeholder="Masukan Code" required>
@error('code')
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
</div>
<div class="col-12 mb-3">
<div class="form-group">
<label class="col-xl-12 form-label">Nama</label>
<div class="col-12 ">
<input type="text" value="{{@$item->name ? @$item->name : old('name')}}" name="name" class="form-control @error('name') is-invalid @enderror" placeholder="Masukan Nama" required>
@error('name')
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
</div>
<div class="col-12 mb-3">
<div class="form-group">
<label class="col-xl-12 form-label">Nomor Baris</label>
<div class="col-12 ">
<input type="text" value="{{@$item->row_num ? @$item->row_num : old('row_num')}}" name="row_num" class="form-control @error('row_num') is-invalid @enderror" placeholder="Masukan Nomor Baris" required>
@error('row_num')
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="row">
<div class="col-md-12 text-right">
<a href="{{url($url)}}" class="btn btn-danger"><i class="mdi mdi-cancel"></i> Batal</a>
<button type="submit" class="btn btn-success"><i class="mdi mdi-content-save-outline"></i> Simpan</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('js')
@endsection

View File

@ -0,0 +1,97 @@
@extends('layouts.master')
@section('css')
@endsection
@section('content')
<div class="">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<h5 class="mb-0"><b>Sector {{ \Str::title($code) }}</b></h5>
</div>
<div class="card-body">
<div id="toolbar">
<a href="{{url('master/sector/')}}" id="btn-add" class="btn btn-warning">
<i class="mdi mdi-arrow-left"></i> Kembali
</a>
<a href="{{url($url.'/update')}}" id="btn-add" class="btn btn-primary">
<i class="mdi mdi-plus"></i> Tambah Data
</a>
</div>
<table class="table w-100"
data-search="true"
data-toggle="table"
data-pagination="true"
data-toolbar="#toolbar"
data-show-refresh="false"
data-url="{{url($url.'/grid')}}"
data-ajax-options='{"xhrFields": {"withCredentials": true}}'
data-sort-name="ids"
data-sort-order="desc"
data-page-size="10"
data-id-field="id"
id="grid-data">
<thead class="table-secondary text-primary">
<tr>
<th data-width="15%" class="text-center" data-field="action">#</th>
<th data-field="name">Nama</th>
<th data-field="code">Code</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('js')
<script type="text/javascript">
$("#grid-data").on("click", ".remove_data", function() {
var base_url = $(this).attr('data-href');
var id = $(this).attr('data-id');
Swal.fire({
title: "Hapus Data!",
text: "Apa anda yakin ingin menghapus data ini ?",
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Ya Hapus Sekarang",
cancelButtonText: "Tidak"
}).then((result) => {
if (result.isConfirmed) {
request = $.ajax({
url: base_url,
xhrFields: {
withCredentials: true
},
type: "GET",
});
// Callback handler that will be called on success
request.done(function(response, textStatus, jqXHR){
console.log(response);
alertify.success("Berhasil Menhapus Data");
$('#grid-data').bootstrapTable('refresh');
});
// Callback handler that will be called on failure
request.fail(function (jqXHR, textStatus, errorThrown){
alertify.error("Gagal " + textStatus, errorThrown);
});
}
});
return false;
});
</script>
@endsection

View File

@ -9,6 +9,8 @@ use App\Http\Controllers\Management\UserSekolahController;
use App\Http\Controllers\Management\RoleController; use App\Http\Controllers\Management\RoleController;
use App\Http\Controllers\Management\AksesController; use App\Http\Controllers\Management\AksesController;
use App\Http\Controllers\Master\AgencyController; use App\Http\Controllers\Master\AgencyController;
use App\Http\Controllers\Master\SectorController;
use App\Http\Controllers\Master\SubSectorController;
use App\Http\Controllers\Activity\FormController; use App\Http\Controllers\Activity\FormController;
use App\Http\Controllers\Activity\FormKehutananController; use App\Http\Controllers\Activity\FormKehutananController;
use App\Http\Controllers\Activity\FormMetadataController; use App\Http\Controllers\Activity\FormMetadataController;
@ -111,6 +113,27 @@ Route::name('management.')->prefix('management')->group(function () {
Route::get('user/profile', [AuthController::class, 'show'])->name('profile.show'); Route::get('user/profile', [AuthController::class, 'show'])->name('profile.show');
Route::get('user/profile/edit', [AuthController::class, 'edit'])->name('profile.edit'); Route::get('user/profile/edit', [AuthController::class, 'edit'])->name('profile.edit');
Route::prefix('master')->group(function () {
Route::prefix('agency')->group(function () {
Route::resource('/', AgencyController::class)->names('master.agency');
Route::get('/grid', [AgencyController::class,'grid'])->name('master.agency.grid');
Route::get('update/{id?}',[AgencyController::class,'update'])->name('master.agency.update');
});
Route::prefix('sector')->group(function () {
Route::resource('/', SectorController::class)->names('master.sector');
Route::get('/grid', [SectorController::class,'grid'])->name('master.sector.grid');
Route::get('update/{id?}',[SectorController::class,'update'])->name('master.sector.update');
Route::prefix('{code}/subsector')->group(function () {
Route::resource('/', SubSectorController::class)->names('master.subsector');
Route::get('/grid', [SubSectorController::class,'grid'])->name('master.subsector.grid');
Route::post('/store', [SubSectorController::class,'store'])->name('master.subsector.store');
Route::get('update/{id?}',[SubSectorController::class,'update'])->name('master.subsector.update');
});
});
});
Route::prefix('pengaturan')->group(function () { Route::prefix('pengaturan')->group(function () {
Route::get('ar/grid', [ArController::class, 'grid'])->name('pengaturan.ar.grid'); Route::get('ar/grid', [ArController::class, 'grid'])->name('pengaturan.ar.grid');
Route::resource('ar', ArController::class)->names('pengaturan.ar'); Route::resource('ar', ArController::class)->names('pengaturan.ar');