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();
@@ -92,7 +93,8 @@ class PendidikanPelatihanController extends Controller
$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)
@@ -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();
@@ -170,6 +173,18 @@ class PendidikanPelatihanController extends Controller
$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;
line-height: 1.5 !important;
}
#section-pelatihan,
#section-sertifikasi {
scroll-margin-top: 96px;
}
</style>
@endpush
@@ -51,7 +56,7 @@
<div class="col-md-12">
@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">
<h5 class="pb-4 border-bottom mb-4">
Riwayat Pelatihan
@@ -83,6 +88,7 @@
class="delete-db-form">
@csrf
@method('DELETE')
<input type="hidden" name="redirect_fragment" value="section-pelatihan">
<button type="submit" class="btn btn-outline-danger">
<i class="icon-base ti tabler-trash icon-sm"></i>
@@ -101,6 +107,7 @@
action="{{ route('petani.pendidikan-pelatihan.pelatihan.store', $petani->id) }}"
class="form-repeater-pelatihan">
@csrf
<input type="hidden" name="redirect_fragment" value="section-sertifikasi">
<div data-repeater-list="riwayat_pelatihan">
<div data-repeater-item>
@@ -170,7 +177,7 @@
</div>
{{-- SERTIFIKASI KEAHLIAN --}}
<div class="card mb-6">
<div class="card mb-6" id="section-sertifikasi">
<div class="card-body pt-12">
<h5 class="pb-4 border-bottom mb-4">
Sertifikasi Keahlian
@@ -231,9 +238,10 @@
<form
method="POST"
action="{{ route('petani.pendidikan-pelatihan.sertifikasi.destroy', [$petani->id, $row->id]) }}"
class="delete-db-form">
class="delete-db-form">
@csrf
@method('DELETE')
<input type="hidden" name="redirect_fragment" value="section-sertifikasi">
<button type="submit" class="btn btn-outline-danger">
<i class="icon-base ti tabler-trash icon-sm"></i>
@@ -252,6 +260,7 @@
action="{{ route('petani.pendidikan-pelatihan.sertifikasi.store', $petani->id) }}"
class="form-repeater-sertifikasi">
@csrf
<input type="hidden" name="redirect_fragment" value="section-sertifikasi">
<div data-repeater-list="sertifikasi">
<div data-repeater-item>