diff --git a/app/Http/Controllers/Dashboard/ClassificationController.php b/app/Http/Controllers/Dashboard/ClassificationController.php index 3ab4a40..1369570 100644 --- a/app/Http/Controllers/Dashboard/ClassificationController.php +++ b/app/Http/Controllers/Dashboard/ClassificationController.php @@ -34,7 +34,7 @@ public function store(ClassificationRequest $request){ $createdClassification = Classification::create($validatedData); return redirect()->route('dashboard.classifications.index')->with('success-status', 'Berhasil membuat klasifikasi baru.') - ->with('new_data', $createdClassification->id); + ->with('new_data', encrypt_id($createdClassification->id)); }catch (\Exception $e){ return redirect()->back()->with('failed-status', 'Gagal membuat klasifikasi baru.'); diff --git a/app/Http/Controllers/Dashboard/DatatableController.php b/app/Http/Controllers/Dashboard/DatatableController.php index a12c2b4..d9af561 100644 --- a/app/Http/Controllers/Dashboard/DatatableController.php +++ b/app/Http/Controllers/Dashboard/DatatableController.php @@ -52,7 +52,7 @@ public function classification(Request $request){ ->addIndexColumn() ->addColumn('name', function ($data) use ($newData) { - if(filled($newData) && $newData == $data->id){ + if(filled($newData) && decrypt_id($newData) == $data->id){ return 'Baru'. $data->name; }else{ return $data->name; @@ -163,7 +163,7 @@ public function subClassification(Request $request){ ->addIndexColumn() ->addColumn('name', function ($data) use ($newData) { - if(filled($newData) && $newData == $data->id){ + if(filled($newData) && decrypt_id($newData) == $data->id){ return 'Baru'. $data->name; }else{ return $data->name; @@ -236,8 +236,18 @@ public function location(Request $request){ $data = Location::with(['subLocations'])->get(); + $newData = $request->input('new_data', null); + return DataTables::of($data) ->addIndexColumn() + ->addColumn('name', function ($data) use ($newData) { + + if(filled($newData) && decrypt_id($newData) == $data->id){ + return 'Baru'. $data->name; + }else{ + return $data->name; + } + }) ->addColumn('status', function ($data) { if ($data->status == '0') { return 'Nonaktif'; @@ -300,7 +310,7 @@ public function location(Request $request){ return $dropdown; }) - ->rawColumns(['sub_locations', 'issues', 'status', 'action']) + ->rawColumns(['name', 'sub_locations', 'issues', 'status', 'action']) ->make(true); } @@ -319,10 +329,20 @@ public function subLocation(Request $request){ $data = SubLocation::with(['location'])->get(); } + $newData = $request->input('new_data', null); + return DataTables::of($data) ->addIndexColumn() + ->addColumn('name', function ($data) use ($newData) { + + if(filled($newData) && decrypt_id($newData) == $data->id){ + return 'Baru'. $data->name; + }else{ + return $data->name; + } + }) ->addColumn('location', function ($data) { - return $data->location->name; + return ''.$data->location->name.''; }) ->addColumn('status', function ($data) { if ($data->status == '0') { @@ -370,7 +390,7 @@ public function subLocation(Request $request){ return $dropdown; }) - ->rawColumns(['issues', 'status', 'action']) + ->rawColumns(['name', 'location', 'issues', 'status', 'action']) ->make(true); } diff --git a/app/Http/Controllers/Dashboard/LocationController.php b/app/Http/Controllers/Dashboard/LocationController.php index f20c385..4c73782 100644 --- a/app/Http/Controllers/Dashboard/LocationController.php +++ b/app/Http/Controllers/Dashboard/LocationController.php @@ -13,13 +13,14 @@ class LocationController extends Controller { public function index(){ return view('dashboard.locations.index', [ - 'title' => 'Lokus' + 'title' => 'Data Lokus', + 'new_data' => session()->get('new_data', null), ]); } public function create(){ return view('dashboard.locations.create', [ - 'title' => 'Tambah Lokus' + 'title' => 'Buat Lokus Baru' ]); } @@ -27,11 +28,12 @@ public function store(LocationRequest $request){ $validatedData = $request->validated(); $validatedData['enhancer_id'] = Auth::id(); - $createdLocation = Location::create($validatedData); + try{ + $createdLocation = Location::create($validatedData); - if($createdLocation){ - return redirect()->route('dashboard.locations.index')->with('success-status', 'Berhasil menambahkan lokus.'); - }else{ + return redirect()->route('dashboard.locations.index')->with('success-status', 'Berhasil membuat lokus baru.') + ->with('new_data', encrypt_id($createdLocation->id)); + }catch(\Exception $e){ return redirect()->back()->with('failed-status', 'Gagal menambahkan lokus.'); } } @@ -49,18 +51,18 @@ public function update(LocationRequest $request, $id){ $validatedData = $request->validated(); $validatedData['enhancer_id'] = Auth::id(); - $location = Location::findOrFail(decrypt_id($id)); - $updatedLocation = $location->update($validatedData); + try{ + $location = Location::findOrFail(decrypt_id($id)); + $location->update($validatedData); - if($updatedLocation){ - return redirect()->back()->with('success-status', 'Berhasil mengubah lokus.'); - }else{ + return redirect()->route('dashboard.locations.show', ['id' => encrypt_id($location->id)])->with('success-status', 'Berhasil mengubah lokus.'); + }catch(\Exception $e){ return redirect()->back()->with('failed-status', 'Gagal mengubah lokus.'); } } public function show($id){ - $location = Location::find(decrypt_id($id)); + $location = Location::findOrFail(decrypt_id($id)); return view('dashboard.locations.show', [ 'title' => 'Detail Lokus', @@ -71,7 +73,6 @@ public function show($id){ public function destroy($id){ try { $location = Location::findOrFail(decrypt_id($id)); - $location->delete(); return response()->json(['message' => 'Berhasil menghapus lokus.']); diff --git a/app/Http/Controllers/Dashboard/SubClassificationController.php b/app/Http/Controllers/Dashboard/SubClassificationController.php index fa25b42..1487e42 100644 --- a/app/Http/Controllers/Dashboard/SubClassificationController.php +++ b/app/Http/Controllers/Dashboard/SubClassificationController.php @@ -50,7 +50,7 @@ public function store(SubClassificationRequest $request){ $createdSubClassification = SubClassification::create($validatedData); return redirect()->route('dashboard.sub.classifications.index')->with('success-status', 'Berhasil membuat sub klasifikasi baru.') - ->with('new_data', $createdSubClassification->id); + ->with('new_data', encrypt_id($createdSubClassification->id)); }catch(\Exception $e){ return redirect()->back()->with('failed-status', 'Gagal membuat sub klasifikasi baru.'); } diff --git a/app/Http/Controllers/Dashboard/SubLocationController.php b/app/Http/Controllers/Dashboard/SubLocationController.php index bc45176..fa52a89 100644 --- a/app/Http/Controllers/Dashboard/SubLocationController.php +++ b/app/Http/Controllers/Dashboard/SubLocationController.php @@ -15,8 +15,9 @@ class SubLocationController extends Controller public function index(Request $request){ $viewData = [ - 'title' => 'Sub Lokus', + 'title' => 'Data Sub Lokus', 'location' => $request->input('location', null), + 'new_data' => session()->get('new_data', null), ]; return view('dashboard.sub-locations.index', $viewData); @@ -25,7 +26,7 @@ public function index(Request $request){ public function create(Request $request){ $viewData = [ - 'title' => 'Tambah Sub Lokus', + 'title' => 'Buat Sub Lokus Baru', 'fromLocation' => false ]; @@ -44,11 +45,12 @@ public function store(SubLocationRequest $request){ $validatedData = $request->validated(); $validatedData['enhancer_id'] = Auth::id(); - $createdSubLocation = SubLocation::create($validatedData); + try{ + $createdSubLocation = SubLocation::create($validatedData); - if($createdSubLocation){ - return redirect()->route('dashboard.sub.locations.index')->with('success-status', 'Berhasil menambahkan sub lokus.'); - }else{ + return redirect()->route('dashboard.sub.locations.index')->with('success-status', 'Berhasil membuat sub lokus baru.') + ->with('new_data', encrypt_id($createdSubLocation->id)); + }catch(\Exception $e){ return redirect()->back()->with('failed-status', 'Gagal menambahkan sub lokus.'); } } @@ -67,18 +69,18 @@ public function update(SubLocationRequest $request, $id){ $validatedData = $request->validated(); $validatedData['enhancer_id'] = Auth::id(); - $subLocation = SubLocation::findOrFail(decrypt_id($id)); - $updatedSubLocation = $subLocation->update($validatedData); + try{ + $subLocation = SubLocation::findOrFail(decrypt_id($id)); + $subLocation->update($validatedData); - if($updatedSubLocation){ - return redirect()->back()->with('success-status', 'Berhasil mengubah sub lokus.'); - }else{ + return redirect()->route('dashboard.sub.locations.show', ['id' => encrypt_id($subLocation->id)])->with('success-status', 'Berhasil mengubah sub lokus.'); + }catch(\Exception $e){ return redirect()->back()->with('failed-status', 'Gagal mengubah sub lokus.'); } } public function show($id){ - $subLocation = SubLocation::with(['location'])->find(decrypt_id($id)); + $subLocation = SubLocation::with(['location'])->findOrFail(decrypt_id($id)); return view('dashboard.sub-locations.show', [ 'title' => 'Detail Sub Lokus', @@ -89,7 +91,6 @@ public function show($id){ public function destroy($id){ try { $subLocation = SubLocation::findOrFail(decrypt_id($id)); - $subLocation->delete(); return response()->json(['message' => 'Berhasil menghapus sub lokus.']); diff --git a/app/Models/Location.php b/app/Models/Location.php index 69bb28b..4799277 100644 --- a/app/Models/Location.php +++ b/app/Models/Location.php @@ -22,4 +22,8 @@ public function subLocations(){ public function issues(){ return $this->hasMany(IssueManagement::class, 'location_id', 'id'); } + + public function enhancer(){ + return $this->belongsTo(User::class, 'enhancer_id', 'id'); + } } diff --git a/app/Models/SubLocation.php b/app/Models/SubLocation.php index 9ab94f0..0022f8c 100644 --- a/app/Models/SubLocation.php +++ b/app/Models/SubLocation.php @@ -23,4 +23,8 @@ public function location(){ public function issues(){ return $this->hasMany(IssueManagement::class, 'sub_location_id', 'id'); } + + public function enhancer(){ + return $this->belongsTo(User::class, 'enhancer_id', 'id'); + } } diff --git a/resources/views/dashboard/classifications/show.blade.php b/resources/views/dashboard/classifications/show.blade.php index 6dfd9a6..a2834ef 100644 --- a/resources/views/dashboard/classifications/show.blade.php +++ b/resources/views/dashboard/classifications/show.blade.php @@ -51,7 +51,7 @@
Masukkan informasi yang diperlukan untuk membuat lokus.
+