From 146df5787093f7c891e2dee62755d0f63fbcda83 Mon Sep 17 00:00:00 2001 From: Wycliffe Yegon Date: Mon, 25 Aug 2025 10:20:38 +0700 Subject: [PATCH] update --- .../Controllers/Master/InstansiController.php | 15 ++++++++- .../Controllers/Master/ResourceController.php | 28 +++++++++++++--- ..._07_31_065518_add_column_resource_data.php | 28 ++++++++++++++++ ...08_25_021055_add_column_show_dashboard.php | 28 ++++++++++++++++ .../modules/master/instansi/form.blade.php | 26 ++++++++++++--- .../modules/master/instansi/index.blade.php | 3 +- .../modules/master/resource/index.blade.php | 32 +++++++++++++++++++ routes/modules/modules.php | 1 + 8 files changed, 150 insertions(+), 11 deletions(-) create mode 100644 database/migrations/2025_07_31_065518_add_column_resource_data.php create mode 100644 database/migrations/2025_08_25_021055_add_column_show_dashboard.php diff --git a/app/Http/Controllers/Master/InstansiController.php b/app/Http/Controllers/Master/InstansiController.php index f05cff2..ac419dd 100644 --- a/app/Http/Controllers/Master/InstansiController.php +++ b/app/Http/Controllers/Master/InstansiController.php @@ -8,6 +8,8 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; use App\Models\Master\Instansi; +use App\Models\Master\Template; +use App\Models\Master\Group; use Illuminate\Http\Request; class InstansiController extends Controller @@ -36,7 +38,7 @@ class InstansiController extends Controller public function grid(Request $request) { - $data = Instansi::all(); + $data = Instansi::orderBy('MsInstansiId','ASC')->get(); // $data = User::with(['group'])->orderBy('id','DESC')->get(); $_data = []; @@ -55,12 +57,19 @@ class InstansiController extends Controller } $action .= ''; } + + if(@$row->resource_data){ + $resource = 'Ada'; + }else{ + $resource = ''; + } $_data[] = [ 'no' => $key+1, 'id' => encode_id($row->id), 'name' => @$row->name, 'parent' => @$row->parent, + 'resource' => @$resource, 'action' => @$action, ]; @@ -100,6 +109,7 @@ class InstansiController extends Controller $user->alamat = $request->alamat; $user->telp = $request->telp; $user->website = $request->website; + $user->resource_data = json_encode($request->resource_data); $user->save(); }else{ Validator::make($request->all(), [ @@ -113,6 +123,7 @@ class InstansiController extends Controller $user->alamat = $request->alamat; $user->telp = $request->telp; $user->website = $request->website; + $user->resource_data = json_encode($request->resource_data); $user->save(); } @@ -160,6 +171,8 @@ class InstansiController extends Controller $data['route'] = $this->route; $data['keyId'] = $id; $data['item'] = Instansi::where('MsInstansiId',$keyId)->first(); + $data['group'] = Group::where('MsGroupId','!=',1)->get(); + $data['template'] = Template::all(); return view($this->template.'.form',$data); } diff --git a/app/Http/Controllers/Master/ResourceController.php b/app/Http/Controllers/Master/ResourceController.php index a5f901a..6c4a440 100644 --- a/app/Http/Controllers/Master/ResourceController.php +++ b/app/Http/Controllers/Master/ResourceController.php @@ -36,13 +36,11 @@ class ResourceController extends Controller public function grid(Request $request) { - $data = Template::all(); + $data = Template::orderBy('MsTemplateId','ASC')->get(); $_data = []; - foreach ($data as $key => $row) { - $action = ''; if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ @@ -50,11 +48,18 @@ class ResourceController extends Controller $action .= ''; $action .= ''; } + + if($row->show_dashboard == 0){ + $radio = ''; + }else{ + $radio = ''; + } $_data[] = [ 'no' => $key+1, - 'id' => encode_id($row->id), + 'id' => encode_id($row->MsTemplateId), 'name' => @$row->name, + 'show_dashboard' => $radio, 'action' => @$action, ]; @@ -163,4 +168,19 @@ class ResourceController extends Controller { // } + + function changeShowDashboard(Request $request){ + try { + // dd($request->all()); + $keyId = decode_id($request->id); + $template = Template::where('MsTemplateId',$keyId)->first(); + // dd($template); + $template->show_dashboard = ($request->val == 'true' ? '1' : '0'); + $template->save(); + return response()->json(['data' => $template,'status' => true]); + } catch (\Throwable $th) { + return response()->json(['status' => false]); + } + + } } diff --git a/database/migrations/2025_07_31_065518_add_column_resource_data.php b/database/migrations/2025_07_31_065518_add_column_resource_data.php new file mode 100644 index 0000000..b75f049 --- /dev/null +++ b/database/migrations/2025_07_31_065518_add_column_resource_data.php @@ -0,0 +1,28 @@ +json('resource_data')->after('id')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('ms_instansi', function (Blueprint $table) { + // + }); + } +}; diff --git a/database/migrations/2025_08_25_021055_add_column_show_dashboard.php b/database/migrations/2025_08_25_021055_add_column_show_dashboard.php new file mode 100644 index 0000000..de6105a --- /dev/null +++ b/database/migrations/2025_08_25_021055_add_column_show_dashboard.php @@ -0,0 +1,28 @@ +integer('show_dashboard')->after('template_url')->default(0); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('ms_template', function (Blueprint $table) { + // + }); + } +}; diff --git a/resources/views/modules/master/instansi/form.blade.php b/resources/views/modules/master/instansi/form.blade.php index 772f551..161c8bb 100644 --- a/resources/views/modules/master/instansi/form.blade.php +++ b/resources/views/modules/master/instansi/form.blade.php @@ -21,12 +21,11 @@
- - - - - + @foreach($group as $dataGroup) + + @endforeach @error('parent') {{$message}} @@ -47,6 +46,23 @@ @enderror
+ @php + // Ambil data yang sudah dipilih (bisa dari old input atau dari model saat edit) + $selectedResources = @$item->resource_data ? json_decode(@$item->resource_data) : []; + // dd($selectedResources); + @endphp +
+ + + @error('resource_data') + {{$message}} + @enderror +
diff --git a/resources/views/modules/master/instansi/index.blade.php b/resources/views/modules/master/instansi/index.blade.php index 3eba9c4..ad74276 100644 --- a/resources/views/modules/master/instansi/index.blade.php +++ b/resources/views/modules/master/instansi/index.blade.php @@ -12,7 +12,7 @@
No + diff --git a/resources/views/modules/master/resource/index.blade.php b/resources/views/modules/master/resource/index.blade.php index e627c5e..51156b3 100644 --- a/resources/views/modules/master/resource/index.blade.php +++ b/resources/views/modules/master/resource/index.blade.php @@ -31,6 +31,7 @@ + @@ -42,6 +43,37 @@ @endsection @section('js')
Name Jenis InstansiResource Data
# No NameTampilkan Di Dashboard ?