Update legal document handling in DokumenJaminanController
Refactored the detailed document processing logic to include handling of 'jenis_legalitas_jaminan_id' instead of 'detail_dokumen_jaminan_id'. Enhanced the view to dynamically add new legal documents, ensuring proper data handling and validation.
This commit is contained in:
@@ -223,9 +223,8 @@
|
|||||||
$document = DokumenJaminan::find($jaminan);
|
$document = DokumenJaminan::find($jaminan);
|
||||||
$document->update($validate);
|
$document->update($validate);
|
||||||
|
|
||||||
|
if($request->jenis_legalitas_jaminan_id){
|
||||||
if ($request->detail_dokumen_jaminan_id) {
|
foreach($request->jenis_legalitas_jaminan_id as $key => $value){
|
||||||
foreach ($request->detail_dokumen_jaminan_id as $key => $value) {
|
|
||||||
if (isset($request->dokumen_jaminan[$key])) {
|
if (isset($request->dokumen_jaminan[$key])) {
|
||||||
$file = $request->dokumen_jaminan[$key];
|
$file = $request->dokumen_jaminan[$key];
|
||||||
if ($file) {
|
if ($file) {
|
||||||
@@ -245,6 +244,7 @@
|
|||||||
'name' => $request->name[$key],
|
'name' => $request->name[$key],
|
||||||
'keterangan' => $request->keterangan[$key],
|
'keterangan' => $request->keterangan[$key],
|
||||||
];
|
];
|
||||||
|
|
||||||
if (isset($request->detail_dokumen_jaminan_id[$key])) {
|
if (isset($request->detail_dokumen_jaminan_id[$key])) {
|
||||||
$detailDocument = DetailDokumenJaminan::find(
|
$detailDocument = DetailDokumenJaminan::find(
|
||||||
$request->detail_dokumen_jaminan_id[$key],
|
$request->detail_dokumen_jaminan_id[$key],
|
||||||
@@ -252,6 +252,9 @@
|
|||||||
|
|
||||||
$detailDocument->update($detail);
|
$detailDocument->update($detail);
|
||||||
$detailDocument->save();
|
$detailDocument->save();
|
||||||
|
} else {
|
||||||
|
$detailDocument = DetailDokumenJaminan::create($detail);
|
||||||
|
$detailDocument->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -290,13 +293,29 @@
|
|||||||
) {
|
) {
|
||||||
$document = DokumenJaminan::find($jaminan);
|
$document = DokumenJaminan::find($jaminan);
|
||||||
$details = DetailDokumenJaminan::where('dokumen_jaminan_id', $document->id)->get();
|
$details = DetailDokumenJaminan::where('dokumen_jaminan_id', $document->id)->get();
|
||||||
|
|
||||||
$debitur = Debiture::find($document->debiture_id);
|
$debitur = Debiture::find($document->debiture_id);
|
||||||
$provinces = Province::all();
|
$provinces = Province::all();
|
||||||
$cities = City::where('province_code', $document->province_code)->get();
|
$cities = City::where('province_code', $document->province_code)->get();
|
||||||
$districts = District::where('city_code', $document->city_code)->get();
|
$districts = District::where('city_code', $document->city_code)->get();
|
||||||
$villages = Village::where('district_code', $document->district_code)->get();
|
$villages = Village::where('district_code', $document->district_code)->get();
|
||||||
|
|
||||||
|
|
||||||
$jenisJaminan = JenisJaminan::all();
|
$jenisJaminan = JenisJaminan::all();
|
||||||
$jenisLegalitasJaminan = JenisLegalitasJaminan::all();
|
$jenisLegalitasJaminan = JenisLegalitasJaminan::all();
|
||||||
|
|
||||||
|
$_jenisJaminan = JenisJaminan::find($document->jenis_jaminan_id);
|
||||||
|
$legalitasJaminan = json_decode($_jenisJaminan->jenis_legalitas_jaminan_id, true);
|
||||||
|
|
||||||
|
$currentLegalitasJaminan = JenisLegalitasJaminan::whereIn('id',$document->detail->pluck('jenis_legalitas_jaminan_id')->toArray())->get();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Remove values from $legalitasJaminan that are in $currentLegalitasJaminan
|
||||||
|
$legalitasJaminan = array_diff($legalitasJaminan, $currentLegalitasJaminan->pluck('code')->toArray());
|
||||||
|
|
||||||
|
$legalitas = JenisLegalitasJaminan::whereIn('code', $legalitasJaminan)->get();
|
||||||
|
|
||||||
$pemilikJaminan = PemilikJaminan::where('debiture_id', $document->debiture_id)->get();
|
$pemilikJaminan = PemilikJaminan::where('debiture_id', $document->debiture_id)->get();
|
||||||
$hubunganPemilik = HubunganPemilikJaminan::all();
|
$hubunganPemilik = HubunganPemilikJaminan::all();
|
||||||
|
|
||||||
@@ -314,6 +333,7 @@
|
|||||||
'villages',
|
'villages',
|
||||||
'pemilikJaminan',
|
'pemilikJaminan',
|
||||||
'hubunganPemilik',
|
'hubunganPemilik',
|
||||||
|
'legalitas'
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -134,11 +134,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if(isset($document->id))
|
@if(isset($document->id))
|
||||||
|
@php $n = 0; @endphp
|
||||||
@foreach($document->detail as $detail)
|
@foreach($document->detail as $detail)
|
||||||
<input type="hidden" name="detail_dokumen_jaminan_id[]" value="{{ $detail->id }}">
|
<input type="hidden" name="detail_dokumen_jaminan_id[]" value="{{ $detail->id }}">
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56 font-bold">
|
<label class="form-label max-w-56 font-bold">
|
||||||
{{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
|
{{ $n + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
|
||||||
</label>
|
</label>
|
||||||
<input type="hidden" name="jenis_legalitas_jaminan_id[]" value=" {{ $detail->jenis_legalitas_jaminan_id }}">
|
<input type="hidden" name="jenis_legalitas_jaminan_id[]" value=" {{ $detail->jenis_legalitas_jaminan_id }}">
|
||||||
</div>
|
</div>
|
||||||
@@ -167,14 +168,14 @@
|
|||||||
|
|
||||||
@if($detail->details)
|
@if($detail->details)
|
||||||
@php $custom_field = json_decode($detail->details,true) @endphp
|
@php $custom_field = json_decode($detail->details,true) @endphp
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56 capitalize">
|
<label class="form-label max-w-56 capitalize">
|
||||||
{{ str_replace('_',' ',$detail->jenisLegalitasJaminan->custom_field) }}
|
{{ str_replace('_',' ',$detail->jenisLegalitasJaminan->custom_field) }}
|
||||||
</label>
|
</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<input class="input" type="text" name="custom_field[][$detail->jenisLegalitasJaminan->custom_field]" value="{{ $custom_field[$detail->jenisLegalitasJaminan->custom_field] }}">
|
<input class="input" type="text" name="custom_field[][$detail->jenisLegalitasJaminan->custom_field]" value="{{ $custom_field[$detail->jenisLegalitasJaminan->custom_field] }}">
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
@@ -185,6 +186,64 @@
|
|||||||
<textarea class="textarea" rows="3" type="number" name="keterangan[]">{{ $detail->keterangan ?? "" }}</textarea>
|
<textarea class="textarea" rows="3" type="number" name="keterangan[]">{{ $detail->keterangan ?? "" }}</textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@php $n++; @endphp
|
||||||
|
@endforeach
|
||||||
|
@foreach($legalitas as $item)
|
||||||
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
|
<label class="form-label max-w-56 font-bold">
|
||||||
|
{{ $n + 1 }}. {{ $item->name }}
|
||||||
|
</label>
|
||||||
|
<input type="hidden" name="jenis_legalitas_jaminan_id[]" value=" {{ $item->id }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
|
<label class="form-label max-w-56">
|
||||||
|
Nama Dokumen
|
||||||
|
</label>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<input class="input " type="text" id="name" name="name[]" value="" placeholder="Nama Dokumen">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
|
<label class="form-label max-w-56">
|
||||||
|
Dokumen Jaminan
|
||||||
|
</label>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<input class="file-input" type="file" name="dokumen_jaminan[]" value="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@if($item->custom_field)
|
||||||
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
|
<label class="form-label max-w-56 capitalize">
|
||||||
|
{{ str_replace('_',' ',$item->custom_field) }}
|
||||||
|
</label>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
@if($item->custom_field_type === "text")
|
||||||
|
<input class="input" type="text" name="custom_field[][{{$item->custom_field}}]">
|
||||||
|
@elseif($item->custom_field_type === "number")
|
||||||
|
<input class="input" type="number" name="custom_field[][{{$item->custom_field}}]">
|
||||||
|
@elseif($item->custom_field_type === "date")
|
||||||
|
<input class="input" type="date" name="custom_field[][{{$item->custom_field}}]">
|
||||||
|
@elseif($item->custom_field_type === "textarea")
|
||||||
|
<textarea class="textarea" rows="3" name="custom_field[][{{$item->custom_field}}]"></textarea>
|
||||||
|
@else
|
||||||
|
<input class="input" type="text" name="custom_field[][{{$item->custom_field}}]">
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
|
<label class="form-label max-w-56">
|
||||||
|
Keterangan
|
||||||
|
</label>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<textarea class="textarea" rows="3" type="number" name="keterangan[]"></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@php $n++; @endphp
|
||||||
@endforeach
|
@endforeach
|
||||||
@else
|
@else
|
||||||
<div id="doctainer" class="grid gap-5">
|
<div id="doctainer" class="grid gap-5">
|
||||||
|
|||||||
Reference in New Issue
Block a user