solve pendidikan & pelatihan

This commit is contained in:
2026-07-22 13:28:58 +07:00
parent 4c66d72dc5
commit 5967e7d6f3
2 changed files with 35 additions and 11 deletions
@@ -77,10 +77,11 @@ class PendidikanPelatihanController extends Controller
]); ]);
} }
return back()->with('success', 'Riwayat pelatihan berhasil disimpan.'); return $this->redirectBackToFragment($request, 'section-sertifikasi')
->with('success', 'Riwayat pelatihan berhasil disimpan.');
} }
public function destroyPelatihan(Petani $petani, SurveyPelatihan $surveyPelatihan) public function destroyPelatihan(Request $request, Petani $petani, SurveyPelatihan $surveyPelatihan)
{ {
$this->authorizeAccess(); $this->authorizeAccess();
@@ -92,7 +93,8 @@ class PendidikanPelatihanController extends Controller
$surveyPelatihan->delete(); $surveyPelatihan->delete();
return back()->with('success', 'Riwayat pelatihan berhasil dihapus.'); return $this->redirectBackToFragment($request, 'section-pelatihan')
->with('success', 'Riwayat pelatihan berhasil dihapus.');
} }
public function storeSertifikasi(Request $request, Petani $petani) public function storeSertifikasi(Request $request, Petani $petani)
@@ -155,10 +157,11 @@ class PendidikanPelatihanController extends Controller
]); ]);
} }
return back()->with('success', 'Sertifikasi berhasil disimpan.'); return $this->redirectBackToFragment($request, 'section-sertifikasi')
->with('success', 'Sertifikasi berhasil disimpan.');
} }
public function destroySertifikasi(Petani $petani, SurveySertifikasi $surveySertifikasi) public function destroySertifikasi(Request $request, Petani $petani, SurveySertifikasi $surveySertifikasi)
{ {
$this->authorizeAccess(); $this->authorizeAccess();
@@ -170,6 +173,18 @@ class PendidikanPelatihanController extends Controller
$surveySertifikasi->delete(); $surveySertifikasi->delete();
return back()->with('success', 'Sertifikasi berhasil dihapus.'); return $this->redirectBackToFragment($request, 'section-sertifikasi')
->with('success', 'Sertifikasi berhasil dihapus.');
}
private function redirectBackToFragment(Request $request, string $defaultFragment)
{
$fragment = $request->input('redirect_fragment', $defaultFragment);
if (!is_string($fragment) || !preg_match('/^[A-Za-z0-9_-]+$/', $fragment)) {
$fragment = $defaultFragment;
}
return redirect()->to(Str::before(url()->previous(), '#') . '#' . $fragment);
} }
} }
@@ -29,6 +29,11 @@
white-space: nowrap !important; white-space: nowrap !important;
line-height: 1.5 !important; line-height: 1.5 !important;
} }
#section-pelatihan,
#section-sertifikasi {
scroll-margin-top: 96px;
}
</style> </style>
@endpush @endpush
@@ -51,7 +56,7 @@
<div class="col-md-12"> <div class="col-md-12">
@include('produktivitas.petani.header', ['petani' => $petani]) @include('produktivitas.petani.header', ['petani' => $petani])
<div class="card mb-6"> <div class="card mb-6" id="section-pelatihan">
<div class="card-body pt-12"> <div class="card-body pt-12">
<h5 class="pb-4 border-bottom mb-4"> <h5 class="pb-4 border-bottom mb-4">
Riwayat Pelatihan Riwayat Pelatihan
@@ -83,6 +88,7 @@
class="delete-db-form"> class="delete-db-form">
@csrf @csrf
@method('DELETE') @method('DELETE')
<input type="hidden" name="redirect_fragment" value="section-pelatihan">
<button type="submit" class="btn btn-outline-danger"> <button type="submit" class="btn btn-outline-danger">
<i class="icon-base ti tabler-trash icon-sm"></i> <i class="icon-base ti tabler-trash icon-sm"></i>
@@ -101,6 +107,7 @@
action="{{ route('petani.pendidikan-pelatihan.pelatihan.store', $petani->id) }}" action="{{ route('petani.pendidikan-pelatihan.pelatihan.store', $petani->id) }}"
class="form-repeater-pelatihan"> class="form-repeater-pelatihan">
@csrf @csrf
<input type="hidden" name="redirect_fragment" value="section-sertifikasi">
<div data-repeater-list="riwayat_pelatihan"> <div data-repeater-list="riwayat_pelatihan">
<div data-repeater-item> <div data-repeater-item>
@@ -170,7 +177,7 @@
</div> </div>
{{-- SERTIFIKASI KEAHLIAN --}} {{-- SERTIFIKASI KEAHLIAN --}}
<div class="card mb-6"> <div class="card mb-6" id="section-sertifikasi">
<div class="card-body pt-12"> <div class="card-body pt-12">
<h5 class="pb-4 border-bottom mb-4"> <h5 class="pb-4 border-bottom mb-4">
Sertifikasi Keahlian Sertifikasi Keahlian
@@ -234,6 +241,7 @@
class="delete-db-form"> class="delete-db-form">
@csrf @csrf
@method('DELETE') @method('DELETE')
<input type="hidden" name="redirect_fragment" value="section-sertifikasi">
<button type="submit" class="btn btn-outline-danger"> <button type="submit" class="btn btn-outline-danger">
<i class="icon-base ti tabler-trash icon-sm"></i> <i class="icon-base ti tabler-trash icon-sm"></i>
@@ -252,6 +260,7 @@
action="{{ route('petani.pendidikan-pelatihan.sertifikasi.store', $petani->id) }}" action="{{ route('petani.pendidikan-pelatihan.sertifikasi.store', $petani->id) }}"
class="form-repeater-sertifikasi"> class="form-repeater-sertifikasi">
@csrf @csrf
<input type="hidden" name="redirect_fragment" value="section-sertifikasi">
<div data-repeater-list="sertifikasi"> <div data-repeater-list="sertifikasi">
<div data-repeater-item> <div data-repeater-item>