diff --git a/app/Http/Controllers/Master/ResourceController.php b/app/Http/Controllers/Master/ResourceController.php new file mode 100644 index 0000000..a5f901a --- /dev/null +++ b/app/Http/Controllers/Master/ResourceController.php @@ -0,0 +1,166 @@ +route, 'module',true); + + $data['breadcrumbs'] = [ + ['name' => 'Dashboard','url' => url('dashboard')], + ['name' => 'Master Data'], + ['name' => 'Data Resource','active' => true], + ]; + $data['title'] = $this->title; + $data['route'] = $this->route; + return view($this->template.'.index',$data); + } + + public function grid(Request $request) + { + + $data = Template::all(); + $_data = []; + + + foreach ($data as $key => $row) { + + + $action = ''; + + if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ + $action .= '
'; + $action .= ''; + $action .= '
'; + } + + $_data[] = [ + 'no' => $key+1, + 'id' => encode_id($row->id), + 'name' => @$row->name, + 'action' => @$action, + ]; + + } + + // return response()->json($_data); // Return the data as a JSON response + return response()->json($_data); + + } + + /** + * Show the form for creating a new resource. + */ + public function create() + { + permission('is_read', $this->route, 'module',true); + + $data['breadcrumbs'] = [ + ['name' => 'Dashboard','url' => url('dashboard')], + ['name' => 'Master Data'], + ['name' => 'Data Resource','active' => true], + ]; + $data['title'] = $this->title; + $data['route'] = $this->route; + return view($this->template.'.form',$data); + } + + /** + * Store a newly created resource in storage. + */ + public function store(Request $request) + { + try { + + $keyId = decode_id($request->secure_id); + + if(@$keyId){ + Validator::make($request->all(), [ + 'name' => 'required', + ])->validate(); + + $user = Template::find($keyId); + $user->name = $request->name; + $user->save(); + }else{ + Validator::make($request->all(), [ + 'name' => 'required', + ])->validate(); + + $user = new Template; + $user->name = $request->name; + $user->save(); + } + + return redirect()->back()->with([ + 'message' => 'Berhasil update data', + 'type' => 'success', + ]); + + } catch (Exception $e) { + return redirect()->back()->with([ + 'message' => $e->getMessage(), + 'type' => "error" + ]); + } + } + + /** + * Display the specified resource. + */ + public function show(string $id) + { + // + } + + /** + * Show the form for editing the specified resource. + */ + public function edit(string $id) + { + // + } + + /** + * Update the specified resource in storage. + */ + public function update($id = null) + { + $data['breadcrumbs'] = [ + ['name' => 'Dashboard','url' => url('dashboard')], + ['name' => 'Master Data'], + ['name' => 'Data Topik','active' => true], + ]; + $keyId = decode_id($id); + $data['title'] = $this->title; + $data['route'] = $this->route; + $data['keyId'] = $id; + $data['item'] = Template::where('MsTemplateId',$keyId)->first(); + return view($this->template.'.form',$data); + } + + /** + * Remove the specified resource from storage. + */ + public function destroy(string $id) + { + // + } +} diff --git a/resources/views/modules/master/resource/form.blade.php b/resources/views/modules/master/resource/form.blade.php new file mode 100644 index 0000000..103614b --- /dev/null +++ b/resources/views/modules/master/resource/form.blade.php @@ -0,0 +1,53 @@ +@extends('layouts.master') +@section('content') +
+
+
+
+

{{$title}}

+
+
+
+ {{csrf_field()}} + +
+
+
+ + + @error('name') + {{$message}} + @enderror +
+
+
+
+  Batal + +
+
+
+
+@endsection +@section('page-js') + +@endsection \ No newline at end of file diff --git a/resources/views/modules/master/resource/index.blade.php b/resources/views/modules/master/resource/index.blade.php new file mode 100644 index 0000000..f16ef82 --- /dev/null +++ b/resources/views/modules/master/resource/index.blade.php @@ -0,0 +1,85 @@ +@extends('layouts.master') + +@section('css') +@endsection +@section('content') +
+
+
+
+

Data {{$title}}

+
+
+
+ + + + + + + + + + +
#NoName
+
+
+
+ +@endsection +@section('js') + +@endsection \ No newline at end of file diff --git a/resources/views/modules/master/topik/form.blade.php b/resources/views/modules/master/topik/form.blade.php index 71a1826..4cf7f8a 100644 --- a/resources/views/modules/master/topik/form.blade.php +++ b/resources/views/modules/master/topik/form.blade.php @@ -14,7 +14,7 @@
- + @error('name') {{$message}} @enderror diff --git a/routes/modules/modules.php b/routes/modules/modules.php index 339d2c4..88dc03f 100644 --- a/routes/modules/modules.php +++ b/routes/modules/modules.php @@ -4,6 +4,8 @@ use Illuminate\Support\Facades\Route; use App\Http\Middleware\Session; use App\Http\Controllers\HomeController; use App\Http\Controllers\Master\InstansiController; +use App\Http\Controllers\Master\ResourceController; +use App\Http\Controllers\Master\TopikController; use App\Http\Controllers\Management\UserController; use App\Http\Controllers\Management\RoleController; use App\Http\Controllers\Management\AksesController; @@ -31,6 +33,19 @@ Route::name('opendata.')->prefix('opendata')->group(function () { }); Route::name('master.')->prefix('master')->group(function () { + + Route::name('resource.')->prefix('resource')->group(function () { + Route::resource('/',ResourceController::class); + Route::get('grid',[ResourceController::class,'grid'])->name('grid'); + Route::get('update/{id?}',[ResourceController::class,'update'])->name('update'); + }); + + Route::name('topik.')->prefix('topik')->group(function () { + Route::resource('/',TopikController::class); + Route::get('grid',[TopikController::class,'grid'])->name('grid'); + Route::get('update/{id?}',[TopikController::class,'update'])->name('update'); + }); + Route::name('instansi.')->prefix('instansi')->group(function () { Route::resource('/',InstansiController::class); Route::get('grid',[InstansiController::class,'grid'])->name('grid');