'Data Sub Lokus', 'location' => $request->input('location', null), 'new_data' => session()->get('new_data', null), ]; return view('dashboard.sub-locations.index', $viewData); } public function create(Request $request){ $viewData = [ 'title' => 'Buat Sub Lokus Baru', 'fromLocation' => false ]; if($request->has('location')){ $locationId = decrypt_id($request->query('location')); $viewData['location'] = Location::findOrFail($locationId); $viewData['fromLocation'] = true; }else{ $viewData['locations'] = Location::all(); } return view('dashboard.sub-locations.create', $viewData); } public function store(SubLocationRequest $request){ $validatedData = $request->validated(); try{ $createdSubLocation = SubLocation::create($validatedData); 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.'); } } public function edit($id){ $subLocation = SubLocation::findOrFail(decrypt_id($id)); return view('dashboard.sub-locations.edit', [ 'title' => 'Ubah Sub Lokus', 'subLocation' => $subLocation, 'locations' => Location::all() ]); } public function update(SubLocationRequest $request, $id){ $validatedData = $request->validated(); try{ $subLocation = SubLocation::findOrFail(decrypt_id($id)); $subLocation->update($validatedData); 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'])->findOrFail(decrypt_id($id)); return view('dashboard.sub-locations.show', [ 'title' => 'Detail Sub Lokus', 'subLocation' => $subLocation, ]); } public function destroy($id){ try { $subLocation = SubLocation::findOrFail(decrypt_id($id)); $subLocation->delete(); return response()->json(['message' => 'Berhasil menghapus sub lokus.']); } catch (\Exception $e) { return response()->json(['message' => 'Gagal menghapus sub lokus.'], 500); } } }