update field sosial ekonomi
This commit is contained in:
@@ -235,6 +235,8 @@ class SosialEkonomiController extends Controller
|
||||
|
||||
private function validateData(Request $request, ?int $id = null): array
|
||||
{
|
||||
$this->normalizeCurrencyInput($request);
|
||||
|
||||
$section = $request->input('form_section');
|
||||
|
||||
$rules = [
|
||||
@@ -530,6 +532,51 @@ class SosialEkonomiController extends Controller
|
||||
return $request->validate($rules, $this->validationMessages(), $this->validationAttributes());
|
||||
}
|
||||
|
||||
private function normalizeCurrencyInput(Request $request): void
|
||||
{
|
||||
$data = $request->all();
|
||||
$currencyFields = [
|
||||
'total_estimasi_biaya_kebun_per_musim',
|
||||
'estimasi_tabungan_per_bulan',
|
||||
'total_hutang_rupiah',
|
||||
];
|
||||
|
||||
foreach ($currencyFields as $field) {
|
||||
if (array_key_exists($field, $data)) {
|
||||
$data[$field] = $this->currencyDigits($data[$field]);
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($data['pendapatan_komoditas']) && is_array($data['pendapatan_komoditas'])) {
|
||||
foreach ($data['pendapatan_komoditas'] as $index => $item) {
|
||||
if (is_array($item) && array_key_exists('pendapatan', $item)) {
|
||||
$data['pendapatan_komoditas'][$index]['pendapatan'] = $this->currencyDigits($item['pendapatan']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($data['pendapatan_luar_pertanian']) && is_array($data['pendapatan_luar_pertanian'])) {
|
||||
foreach ($data['pendapatan_luar_pertanian'] as $index => $item) {
|
||||
if (is_array($item) && array_key_exists('estimasi_per_bulan', $item)) {
|
||||
$data['pendapatan_luar_pertanian'][$index]['estimasi_per_bulan'] = $this->currencyDigits($item['estimasi_per_bulan']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$request->merge($data);
|
||||
}
|
||||
|
||||
private function currencyDigits(mixed $value): ?string
|
||||
{
|
||||
if (is_null($value) || $value === '') {
|
||||
return null;
|
||||
}
|
||||
|
||||
$digits = preg_replace('/\D/', '', (string) $value);
|
||||
|
||||
return $digits === '' ? null : $digits;
|
||||
}
|
||||
|
||||
private function sosialEkonomiPayload(array $validated, ?SosialEkonomi $sosialEkonomi = null): array
|
||||
{
|
||||
$payload = collect($validated)
|
||||
|
||||
Reference in New Issue
Block a user