diff --git a/app/Http/Controllers/Management/RoleController.php b/app/Http/Controllers/Management/RoleController.php index d5a0659..de9ffbf 100644 --- a/app/Http/Controllers/Management/RoleController.php +++ b/app/Http/Controllers/Management/RoleController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\Management; use App\Http\Controllers\Controller; +use Illuminate\Support\Facades\Validator; use Illuminate\Http\Request; use App\Models\Master\Group; @@ -43,8 +44,9 @@ class RoleController extends Controller if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ $action .= '
'; $action .= ''; - $action .= ''; + $action .= ''; // $action .= ''; + $action .= ''; $action .= '
'; } @@ -67,7 +69,15 @@ class RoleController extends Controller */ public function create() { - // + $data['breadcrumbs'] = [ + ['name' => 'Dashboard','url' => url('dashboard')], + ['name' => 'Management & Akses Role'], + ['name' => 'Data Role User','active' => true], + ]; + + $data['title'] = $this->title; + $data['route'] = $this->route; + return view($this->template.'.form',$data); } /** @@ -75,7 +85,40 @@ class RoleController extends Controller */ public function store(Request $request) { - // + try { + + $keyId = decode_id($request->secure_id); + + Validator::make($request->all(), [ + 'name' => 'required', + 'alias' => 'required', + ])->validate(); + + if(@$keyId){ + $group = Group::find($keyId); + $group->name = $request->name; + $group->alias = $request->alias; + $group->save(); + }else{ + $group = new Group; + $group->name = $request->name; + $group->alias = $request->alias; + $group->created_by = auth()->user()->id; + $group->status = true; + $group->save(); + } + + return redirect()->back()->with([ + 'message' => 'Berhasil update data', + 'type' => 'success', + ]); + + }catch (Exception $e) { + return redirect()->back()->with([ + 'message' => $e->getMessage(), + 'type' => "error" + ]); + } } /** @@ -97,9 +140,19 @@ class RoleController extends Controller /** * Update the specified resource in storage. */ - public function update(Request $request, string $id) + public function update($id = null) { - // + $data['breadcrumbs'] = [ + ['name' => 'Dashboard','url' => url('dashboard')], + ['name' => 'Management & Akses Role'], + ['name' => 'Data Role User','active' => true], + ]; + $keyId = decode_id($id); + $data['title'] = $this->title; + $data['route'] = $this->route; + $data['keyId'] = $id; + $data['item'] = Group::find($keyId); + return view($this->template.'.form',$data); } /** @@ -109,4 +162,13 @@ class RoleController extends Controller { // } + + public function delete($id) + { + $keyId = decode_id($id); + + $group = Group::where('MsGroupId',$keyId)->delete(); + + return response()->json(['success' => true,'message' => 'Berhasil update data','type' => 'success']); + } } diff --git a/app/Http/Controllers/Management/UserController.php b/app/Http/Controllers/Management/UserController.php index 87885c6..4b3ea4b 100644 --- a/app/Http/Controllers/Management/UserController.php +++ b/app/Http/Controllers/Management/UserController.php @@ -52,7 +52,7 @@ class UserController extends Controller $action .= ''; if(session('group_id') == 1){ $action .= ''; - $action .= ''; + $action .= ''; } $action .= ''; } diff --git a/resources/views/layouts/master.blade.php b/resources/views/layouts/master.blade.php index ea04e24..aecc348 100644 --- a/resources/views/layouts/master.blade.php +++ b/resources/views/layouts/master.blade.php @@ -98,16 +98,16 @@ }); }); - @if (Session::get('message_type')=='invalid') + @if (Session::get('type')=='error') toastr.error("{{ Session::get('message') }}", 'Error!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'}); @endif - @if (Session::get('message_type')=='success') + @if (Session::get('type')=='success') toastr.success("{{ Session::get('message') }}", 'Berhasil!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'}); @endif - @if (Session::get('message_type')=='warning') + @if (Session::get('type')=='warning') toastr.warning("{{ Session::get('message') }}", 'Whoopss!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'}); @endif - @if (Session::get('message_type')=='info') + @if (Session::get('type')=='info') toastr.info("{{ Session::get('message') }}", 'Info!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'}); @endif diff --git a/resources/views/modules/management/role/form.blade.php b/resources/views/modules/management/role/form.blade.php new file mode 100644 index 0000000..39e0f34 --- /dev/null +++ b/resources/views/modules/management/role/form.blade.php @@ -0,0 +1,35 @@ +@extends('layouts.master') +@section('content') +
+
+

Data {{$title}}

+
+
+ {{csrf_field()}} + +
+
+
+ + + @error('name') + {{$message}} + @enderror +
+
+ + + Pastikan mengandung huruf kecil semua dan tidak ada "spasi" atau tanda baca "-" + @error('alias') + {{$message}} + @enderror +
+
+
+
+  Batal + +
+
+
+@endsection \ No newline at end of file diff --git a/resources/views/modules/management/role/index.blade.php b/resources/views/modules/management/role/index.blade.php index 511eab6..7eaa072 100644 --- a/resources/views/modules/management/role/index.blade.php +++ b/resources/views/modules/management/role/index.blade.php @@ -11,6 +11,9 @@
+
+ Tambah Data +
+ $("#grid-data").on("click", ".remove_data", function() { +var base_url = $(this).attr('data-href'); +var id = $(this).attr('data-id'); + swal({ + title: "Hapus Data!", + text: "Apa anda yakin ingin menghapus data ini ?", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "Ya Hapus Sekarang", + cancelButtonText: "Tidak", + closeOnConfirm: true, + closeOnCancel: true + }, + function(isConfirm) { + if(isConfirm){ + + request = $.ajax({ + url: base_url, + type: "GET", + }); + + // Callback handler that will be called on success + request.done(function(response, textStatus, jqXHR){ + console.log(response); + toastr.success("Berhasil Menhapus Data", 'Berhasil!', {positionClass: 'toast-bottom-right', containerId: 'toast-bottom-right'}); + $('#grid-data').bootstrapTable('refresh'); + }); + + // Callback handler that will be called on failure + request.fail(function (jqXHR, textStatus, errorThrown){ + toastr.error( + "Gagal "+textStatus, errorThrown + ); + }); + } + }); + return false; +}); @endsection \ No newline at end of file diff --git a/routes/modules/modules.php b/routes/modules/modules.php index 76cb3d7..30e18e5 100644 --- a/routes/modules/modules.php +++ b/routes/modules/modules.php @@ -22,6 +22,8 @@ Route::name('management.')->prefix('management')->group(function () { Route::name('role.')->prefix('role')->group(function () { Route::resource('/',RoleController::class); Route::get('grid',[RoleController::class,'grid'])->name('grid'); + Route::get('update/{id?}',[RoleController::class,'update'])->name('update'); + Route::get('delete/{id?}',[RoleController::class,'delete'])->name('delete'); Route::name('akses.')->prefix('akses')->group(function () { Route::resource('/',AksesController::class);