Merge remote-tracking branch 'composer/staging' into staging

# Conflicts:
#	routes/breadcrumbs.php
This commit is contained in:
Daeng Deni Mardaeni
2024-11-28 11:40:19 +07:00
9 changed files with 880 additions and 111 deletions

View File

@@ -684,7 +684,12 @@ class TenderController extends Controller
->with('error', 'Anda Belum Membuat Dokumen Jaminan. Silahkan isi terlebih dahulu!');
}
$detail_penawaran = PenawaranDetailTender::where('penawaran_id', '=', $penawaran->id)->where('status', '=', 1)->pluck('kjpp_rekanan_id')->toArray();
$detail_penawaran = PenawaranDetailTender::where('penawaran_id', '=', $penawaran->id)
->where('status', '=', 1)
->pluck('kjpp_rekanan_id')
->toArray();
$kjpps = KJPP::whereIn('id', $detail_penawaran)
->get()
->map(function ($item) {
@@ -702,10 +707,11 @@ class TenderController extends Controller
}
}
return array_filter($emails);
})
->flatten()
->toArray();
return [
'kjpp' => $item,
'emails' => array_filter($emails)
];
});
foreach ($permohonan->debiture->documents as $document) {
$village_permohonan = $document->village_code;
@@ -719,9 +725,21 @@ class TenderController extends Controller
$cities = City::where('code', $city_permohonan)->get();
$provinces = Province::where('code', $province_permohonan)->get();
$subject = 'Send Penawaran Email';
$body_pdf = view('lpj::penawaran.kirimEmail', [
'penawaran' => $penawaran,
'permohonan' => $permohonan,
'kjpps' => $kjpps->pluck('emails')->flatten()->toArray(),
'villages' => $villages,
'districts' => $districts,
'cities' => $cities,
'provinces' => $provinces
])->render();
// Dispatch job untuk mengirim email
SendPenawaranTenderJob::dispatch(
$kjpps,
$kjpps->pluck('emails')->flatten()->toArray(),
$penawaran,
$permohonan,
$villages,
@@ -730,7 +748,119 @@ class TenderController extends Controller
$provinces
);
return redirect()->route('tender.penawaran.ulang.index')->with('success', 'Email Penawaran Berhasil Terkirim!');
try {
// Proses log email untuk setiap KJPP
foreach ($kjpps as $kjppData) {
foreach ($kjppData['emails'] as $email) {
// Cek log yang sudah ada
$log = PenawaranEmailTenderLog::where('penawaran_id', $penawaran->id)
->where('to_email', $email)
->where('status', 'failed')
->first();
$log1 = PenawaranEmailTenderLog::where('penawaran_id', $penawaran->id)
->where('to_email', $email)
->where('status', 'success')
->first();
if ($log) {
// Update log failed menjadi success
$log->update([
'penawaran_id' => $penawaran->id,
'kjpp' => $kjppData['kjpp']->code . ' | ' . $kjppData['kjpp']->name,
'to_email' => $email,
'subject' => $subject,
'body_pdf' => $body_pdf,
'status' => 'success',
'error_message' => null,
'updated_at' => now(),
]);
} else if ($log1) {
// Update timestamp jika sudah success
$log1->update([
'penawaran_id' => $penawaran->id,
'kjpp' => $kjppData['kjpp']->code . ' | ' . $kjppData['kjpp']->name,
'to_email' => $email,
'subject' => $subject,
'body_pdf' => $body_pdf,
'updated_at' => now(),
]);
} else {
// Buat log baru
PenawaranEmailTenderLog::create([
'penawaran_id' => $penawaran->id,
'kjpp' => $kjppData['kjpp']->code . ' | ' . $kjppData['kjpp']->name,
'to_email' => $email,
'subject' => $subject,
'body_pdf' => $body_pdf,
'status' => 'success',
'error_message' => null,
'created_at' => now(),
'updated_at' => now(),
]);
}
}
}
return redirect()->route('tender.penawaran.ulang.index')
->with('success', 'Email Penawaran Berhasil Terkirim!');
} catch (\Exception $e) {
// Log email gagal untuk setiap KJPP
foreach ($kjpps as $kjppData) {
foreach ($kjppData['emails'] as $email) {
$log = PenawaranEmailTenderLog::where('penawaran_id', $penawaran->id)
->where('to_email', $email)
->where('status', 'success')
->first();
$log1 = PenawaranEmailTenderLog::where('penawaran_id', $penawaran->id)
->where('to_email', $email)
->where('status', 'failed')
->first();
if ($log) {
// Update log success menjadi failed
$log->update([
'penawaran_id' => $penawaran->id,
'kjpp' => $kjppData['kjpp']->code . ' | ' . $kjppData['kjpp']->name,
'to_email' => $email,
'subject' => $subject,
'body_pdf' => $body_pdf,
'status' => 'failed',
'error_message' => $e->getMessage(),
'updated_at' => now(),
]);
} else if ($log1) {
// Update error message jika sudah failed
$log1->update([
'penawaran_id' => $penawaran->id,
'kjpp' => $kjppData['kjpp']->code . ' | ' . $kjppData['kjpp']->name,
'to_email' => $email,
'subject' => $subject,
'body_pdf' => $body_pdf,
'error_message' => $e->getMessage(),
'updated_at' => now(),
]);
} else {
// Buat log baru dengan status failed
PenawaranEmailTenderLog::create([
'penawaran_id' => $penawaran->id,
'kjpp' => $kjppData['kjpp']->code . ' | ' . $kjppData['kjpp']->name,
'to_email' => $email,
'subject' => $subject,
'body_pdf' => $body_pdf,
'status' => 'failed',
'error_message' => $e->getMessage(),
'created_at' => now(),
'updated_at' => now(),
]);
}
}
}
return redirect()->route('tender.penawaran.showKirimEmail', ['noreg' => $noreg])
->with('error', 'Email Penawaran Gagal Terkirim!');
}
}
public function kirimEmailKJPP($noreg, $id)
@@ -830,13 +960,23 @@ class TenderController extends Controller
if ($log) {
// Jika log ditemukan dan statusnya 'failed', update status menjadi 'success'
$log->update([
'penawaran_id' => $penawaran->id,
'kjpp' => $dp1->kjpp->code . ' | ' . $dp1->kjpp->name,
'to_email' => $email,
'subject' => $subject,
'body_pdf' => $body_pdf,
'status' => 'success',
'error_message' => null, // Reset error_message saat status diubah menjadi success
'updated_at' => now(),
]);
} else if ($log1) {
// Jika log ditemukan dan statusnya 'success' biarkan saja
$log1->update([ // Reset error_message saat status diubah menjadi success
$log1->update([
'penawaran_id' => $penawaran->id,
'kjpp' => $dp1->kjpp->code . ' | ' . $dp1->kjpp->name,
'to_email' => $email,
'subject' => $subject,
'body_pdf' => $body_pdf,
'updated_at' => now(),
]);
} else {
@@ -859,18 +999,54 @@ class TenderController extends Controller
} catch (\Exception $e) {
// Log email gagal
foreach ($kjpps as $email) {
PenawaranEmailTenderLog::create([
'penawaran_id' => $penawaran->id,
'kjpp' => $dp1->kjpp->code . ' | ' . $dp1->kjpp->name,
'to_email' => $email,
'subject' => $subject,
'body_pdf' => $body_pdf,
'status' => 'failed',
'error_message' => $e->getMessage(),
'created_at' => now(),
'updated_at' => now(),
]);
$log = PenawaranEmailTenderLog::where('penawaran_id', $penawaran->id)
->where('to_email', $email)
->where('status', 'success')
->first();
$log1 = PenawaranEmailTenderLog::where('penawaran_id', $penawaran->id)
->where('to_email', $email)
->where('status', 'failed')
->first();
if ($log) {
// Jika log ditemukan dan statusnya 'success', update status menjadi 'failed'
$log->update([
'penawaran_id' => $penawaran->id,
'kjpp' => $dp1->kjpp->code . ' | ' . $dp1->kjpp->name,
'to_email' => $email,
'subject' => $subject,
'body_pdf' => $body_pdf,
'status' => 'failed',
'error_message' => $e->getMessage(),
'updated_at' => now(),
]);
} else if ($log1) {
// Jika log ditemukan dan statusnya 'failed' biarkan saja
$log1->update([
'penawaran_id' => $penawaran->id,
'kjpp' => $dp1->kjpp->code . ' | ' . $dp1->kjpp->name,
'to_email' => $email,
'subject' => $subject,
'body_pdf' => $body_pdf,
'error_message' => $e->getMessage(),
'updated_at' => now(),
]);
} else {
PenawaranEmailTenderLog::create([
'penawaran_id' => $penawaran->id,
'kjpp' => $dp1->kjpp->code . ' | ' . $dp1->kjpp->name,
'to_email' => $email,
'subject' => $subject,
'body_pdf' => $body_pdf,
'status' => 'failed',
'error_message' => $e->getMessage(),
'created_at' => now(),
'updated_at' => now(),
]);
}
}
return redirect()->route('tender.penawaran.showKirimEmail', ['noreg' => $noreg])->with('error', 'Email Penawaran Gagal Terkirim!');
}
}

View File

@@ -131,12 +131,22 @@
@endphp
@if (is_object($details))
@if (isset($details->luas_tanah) && is_numeric($details->luas_tanah))
@php $luas_tanah = $details->luas_tanah; @endphp
@if (
$detail->jenisLegalitasJaminan->custom_field === 'Luas Tanah' &&
isset($details->{'Luas Tanah'}) &&
is_numeric($details->{'Luas Tanah'}))
@php
$luas_tanah = $details->{'Luas Tanah'};
@endphp
@endif
@if (isset($details->luas_bangunan) && is_numeric($details->luas_bangunan))
@php $luas_bangunan = $details->luas_bangunan; @endphp
@if (
$detail->jenisLegalitasJaminan->custom_field === 'Luas Bangunan' &&
isset($details->{'Luas Bangunan'}) &&
is_numeric($details->{'Luas Bangunan'}))
@php
$luas_bangunan = $details->{'Luas Bangunan'};
@endphp
@endif
@endif
@endforeach

View File

@@ -133,12 +133,22 @@
@endphp
@if (is_object($details))
@if (isset($details->luas_tanah) && is_numeric($details->luas_tanah))
@php $luas_tanah = $details->luas_tanah; @endphp
@if (
$detail->jenisLegalitasJaminan->custom_field === 'Luas Tanah' &&
isset($details->{'Luas Tanah'}) &&
is_numeric($details->{'Luas Tanah'}))
@php
$luas_tanah = $details->{'Luas Tanah'};
@endphp
@endif
@if (isset($details->luas_bangunan) && is_numeric($details->luas_bangunan))
@php $luas_bangunan = $details->luas_bangunan; @endphp
@if (
$detail->jenisLegalitasJaminan->custom_field === 'Luas Bangunan' &&
isset($details->{'Luas Bangunan'}) &&
is_numeric($details->{'Luas Bangunan'}))
@php
$luas_bangunan = $details->{'Luas Bangunan'};
@endphp
@endif
@endif
@endforeach

View File

@@ -68,18 +68,10 @@
</span>
</th>
<th class="min-w-[150px]" data-datatable-column="email_kantor">
<span class="sort">
<span class="sort-label">
Email Kantor
</span>
</span>
Email Kantor
</th>
<th class="min-w-[150px]" data-datatable-column="status">
<span class="sort">
<span class="sort-label">
Status Kirim
</span>
</span>
Status Kirim
</th>
<th class="min-w-[50px] text-center" data-datatable-column="actions">Action
</th>

View File

@@ -13,7 +13,7 @@
</h3>
<div class="flex items-center gap-2">
<a href="{{ route('tender.penawaran.downloadSuratTender', $noreg) }}" class="btn btn-xs btn-light">
<img src="{{ asset('img/pdf.png') }}" width="25" alt="pdf"></img>Download
<img src="{{ asset('img/pdf.png') }}" width="25" alt="pdf" class="pdf"></img>Download
</span>
@if (isset($penawaran->nomor_registrasi))
<a href="{{ route('tender.penawaran.editPenawaran', $noreg) }}" class="btn btn-xs btn-info"><i
@@ -24,7 +24,7 @@
@endif
</div>
</div>
<div class="card-body grid gap-5">
<div class="card-body grid gap-5 text-gray-900">
<p>Dear
<span class="font-bold">
@php
@@ -116,12 +116,22 @@
@endphp
@if (is_object($details))
@if (isset($details->luas_tanah) && is_numeric($details->luas_tanah))
@php $luas_tanah = $details->luas_tanah; @endphp
@if (
$detail->jenisLegalitasJaminan->custom_field === 'Luas Tanah' &&
isset($details->{'Luas Tanah'}) &&
is_numeric($details->{'Luas Tanah'}))
@php
$luas_tanah = $details->{'Luas Tanah'};
@endphp
@endif
@if (isset($details->luas_bangunan) && is_numeric($details->luas_bangunan))
@php $luas_bangunan = $details->luas_bangunan; @endphp
@if (
$detail->jenisLegalitasJaminan->custom_field === 'Luas Bangunan' &&
isset($details->{'Luas Bangunan'}) &&
is_numeric($details->{'Luas Bangunan'}))
@php
$luas_bangunan = $details->{'Luas Bangunan'};
@endphp
@endif
@endif
@endforeach
@@ -139,12 +149,12 @@
</ul>
<p>Harap proposal dibuat dengan harga yang minimal sehingga tidak perlu tawar menawar lagi.</p>
<p>Mohon proposal dapat saya terima segera, sebelum
<span class="font-bold">{{ formatTanggalIndonesia($penawaran->end_date,true) }}</span>
<span class="font-bold">{{ formatTanggalIndonesia($penawaran->end_date, true) }}</span>
</p>
<p>Best Regards,
<div class="font-bold">
<img src="{{ asset('storage/signatures/' . $permohonan->user->id . '/' . $permohonan->user->sign) }}"
alt="{{ $permohonan->user->name }}" width="200">
alt="{{ $permohonan->user->name }}" width="200" class="signature">
<p>
{{ $permohonan->user->name }}
</p>
@@ -159,3 +169,16 @@
</div>
</div>
@endsection
@push('styles')
<style>
.dark img.signature {
filter: invert(1) brightness(2);
}
.dark img.pdf {
filter: invert(1) brightness(1);
mix-blend-mode: screen;
}
</style>
@endpush

View File

@@ -131,12 +131,22 @@
@endphp
@if (is_object($details))
@if (isset($details->luas_tanah) && is_numeric($details->luas_tanah))
@php $luas_tanah = $details->luas_tanah; @endphp
@if (
$detail->jenisLegalitasJaminan->custom_field === 'Luas Tanah' &&
isset($details->{'Luas Tanah'}) &&
is_numeric($details->{'Luas Tanah'}))
@php
$luas_tanah = $details->{'Luas Tanah'};
@endphp
@endif
@if (isset($details->luas_bangunan) && is_numeric($details->luas_bangunan))
@php $luas_bangunan = $details->luas_bangunan; @endphp
@if (
$detail->jenisLegalitasJaminan->custom_field === 'Luas Bangunan' &&
isset($details->{'Luas Bangunan'}) &&
is_numeric($details->{'Luas Bangunan'}))
@php
$luas_bangunan = $details->{'Luas Bangunan'};
@endphp
@endif
@endif
@endforeach
@@ -154,7 +164,7 @@
<div class="content">
Harap proposal dibuat dengan harga yang minimal sehingga tidak perlu tawar menawar lagi. <br />
Mohon proposal dapat saya terima segera, sebelum <span
class="important">{{ formatTanggalIndonesia($penawaran->end_date,true) }}</span>
class="important">{{ formatTanggalIndonesia($penawaran->end_date, true) }}</span>
</div>
<div class="signature">

View File

@@ -14,13 +14,13 @@
<div class="flex items-center gap-2">
<a href="{{ route('tender.penawaran.downloadSuratTenderKJPP', ['noreg' => $noreg, 'id' => $id]) }}"
class="btn btn-xs btn-light">
<img src="{{ asset('img/pdf.png') }}" width="25" alt="pdf"></img>Download
<img src="{{ asset('img/pdf.png') }}" width="25" alt="pdf" class="pdf"></img>Download
</a>
<a href="{{ route('tender.penawaran.showKirimEmail', $noreg) }}" class="btn btn-xs btn-info"><i
class="ki-filled ki-exit-left"></i> Back</a>
</div>
</div>
<div class="card-body grid gap-5">
<div class="card-body grid gap-5 text-gray-900">
<p>Dear
<span class="font-bold">
@php
@@ -114,12 +114,22 @@
@endphp
@if (is_object($details))
@if (isset($details->luas_tanah) && is_numeric($details->luas_tanah))
@php $luas_tanah = $details->luas_tanah; @endphp
@if (
$detail->jenisLegalitasJaminan->custom_field === 'Luas Tanah' &&
isset($details->{'Luas Tanah'}) &&
is_numeric($details->{'Luas Tanah'}))
@php
$luas_tanah = $details->{'Luas Tanah'};
@endphp
@endif
@if (isset($details->luas_bangunan) && is_numeric($details->luas_bangunan))
@php $luas_bangunan = $details->luas_bangunan; @endphp
@if (
$detail->jenisLegalitasJaminan->custom_field === 'Luas Bangunan' &&
isset($details->{'Luas Bangunan'}) &&
is_numeric($details->{'Luas Bangunan'}))
@php
$luas_bangunan = $details->{'Luas Bangunan'};
@endphp
@endif
@endif
@endforeach
@@ -142,7 +152,7 @@
<p>Best Regards,
<div class="font-bold">
<img src="{{ asset('storage/signatures/' . $permohonan->user->id . '/' . $permohonan->user->sign) }}"
alt="{{ $permohonan->user->name }}" width="200">
alt="{{ $permohonan->user->name }}" width="200" class="signature">
<p>
{{ $permohonan->user->name }}
</p>
@@ -157,3 +167,16 @@
</div>
</div>
@endsection
@push('styles')
<style>
.dark img.signature {
filter: invert(1) brightness(2);
}
.dark img.pdf {
filter: invert(1) brightness(1);
mix-blend-mode: screen;
}
</style>
@endpush

View File

@@ -133,12 +133,22 @@
@endphp
@if (is_object($details))
@if (isset($details->luas_tanah) && is_numeric($details->luas_tanah))
@php $luas_tanah = $details->luas_tanah; @endphp
@if (
$detail->jenisLegalitasJaminan->custom_field === 'Luas Tanah' &&
isset($details->{'Luas Tanah'}) &&
is_numeric($details->{'Luas Tanah'}))
@php
$luas_tanah = $details->{'Luas Tanah'};
@endphp
@endif
@if (isset($details->luas_bangunan) && is_numeric($details->luas_bangunan))
@php $luas_bangunan = $details->luas_bangunan; @endphp
@if (
$detail->jenisLegalitasJaminan->custom_field === 'Luas Bangunan' &&
isset($details->{'Luas Bangunan'}) &&
is_numeric($details->{'Luas Bangunan'}))
@php
$luas_bangunan = $details->{'Luas Bangunan'};
@endphp
@endif
@endif
@endforeach

View File

@@ -380,7 +380,7 @@
});
Breadcrumbs::for('tender.penawaran.show', function (BreadcrumbTrail $trail, $noreg) {
$trail->parent('tender');
$trail->parent('tender.penawaran.ulang');
$trail->push('Detail Penawaran', route('tender.penawaran.show', $noreg));
});
@@ -390,22 +390,23 @@
});
Breadcrumbs::for('tender.penawaran.editPenawaran', function (BreadcrumbTrail $trail, $noreg) {
$trail->parent('tender.penawaran');
$trail->parent('tender.penawaran.ulang');
$trail->push('Penawaran Ulang', route('tender.penawaran.editPenawaran', $noreg));
});
Breadcrumbs::for('tender.penawaran.showSuratTender', function (BreadcrumbTrail $trail, $noreg) {
$trail->parent('tender.penawaran');
$trail->parent('tender.penawaran.ulang');
$trail->push('Penawaran Ulang', route('tender.penawaran.editPenawaran', $noreg));
$trail->push('Surat Tender', route('tender.penawaran.showSuratTender', $noreg));
});
Breadcrumbs::for('tender.penawaran.suratTenderKJPP', function (BreadcrumbTrail $trail, $noreg, $id) {
$trail->parent('tender.penawaran');
$trail->parent('tender.penawaran.showKirimEmail', ['noreg' => $noreg]);
$trail->push('Surat Tender KJPP', route('tender.penawaran.suratTenderKJPP', ['noreg' => $noreg, 'id' => $id]));
});
Breadcrumbs::for('tender.penawaran.showKirimEmail', function (BreadcrumbTrail $trail, $noreg) {
$trail->parent('tender.penawaran');
$trail->parent('tender.penawaran.ulang');
$trail->push('Show Kirim Email Penawaran', route('tender.penawaran.showKirimEmail', $noreg));
});
@@ -450,37 +451,31 @@
});
// basic data surveyor
$basicDataRoutes = [
'bentuk-tanah' => 'Bentuk Tanah',
'kontur-tanah' => 'Kontur Tanah',
'posisi-kavling' => 'Posisi Kavling',
'ketinggian-tanah' => 'Ketinggian Tanah',
'kondisi-fisik-tanah' => 'Kondisi Fisik Tanah',
'jenis-bangunan' => 'Jenis Bangunan',
'kondisi-bangunan' => 'Kondisi Bangunan',
'sifat-bangunan' => 'Sifat Bangunan',
'spek-bangunan' => 'Speksifikasi Bangunan',
'spek-kategori-bangunan' => 'Speksifikasi Kategori Bangunan',
'sarana-pelengkap' => 'Sarana Pelengkap',
'lalu-lintas-lokasi' => 'Lalu Lintas',
'tingkat-keramaian' => 'Tingkat Keramaian',
'gol-mas-sekitar' => 'Golongan Masyarakat Sekitar',
'lantai-unit' => 'Lantai Unit',
'view-unit' => 'View Unit',
'bentuk-unit' => 'Bentuk unit',
'perkerasan-jalan' => 'Perkerasan jalan',
'jenis-pesawat' => 'Jenis pesawat',
'model-alat-berat' => 'Model Alat Berat',
'jenis-kapal' => 'Jenis kapal',
'jenis-kendaraan' => 'Jenis kendaraan',
'jenis-unit' => 'Jenis unit',
'terletak-area' => 'Terletak di Area',
'merupakan-daerah' => 'Merupakan Daerah',
'posisi-unit' => 'Posisi unit',
'bentuk-unit' => 'Bentuk unit',
'fasilitas-objek' => 'Fasilitas Umum Dekat Objek',
];
// basic data surveyor
$basicDataRoutes = [
'bentuk-tanah' => 'Bentuk Tanah',
'kontur-tanah' => 'Kontur Tanah',
'posisi-kavling' => 'Posisi Kavling',
'ketinggian-tanah' => 'Ketinggian Tanah',
'kondisi-fisik-tanah' => 'Kondisi Fisik Tanah',
'jenis-bangunan' => 'Jenis Bangunan',
'kondisi-bangunan' => 'Kondisi Bangunan',
'sifat-bangunan' => 'Sifat Bangunan',
'spek-bangunan' => 'Speksifikasi Bangunan',
'spek-kategori-bangunan' => 'Speksifikasi Kategori Bangunan',
'sarana-pelengkap' => 'Sarana Pelengkap',
'lalu-lintas-lokasi' => 'Lalu Lintas',
'tingkat-keramaian' => 'Tingkat Keramaian',
'gol-mas-sekitar' => 'Golongan Masyarakat Sekitar',
'lantai-unit' => 'Lantai Unit',
'view-unit' => 'View Unit',
'bentuk-unit' => 'Bentuk unit',
'perkerasan-jalan' => 'Perkerasan jalan',
'jenis-pesawat' => 'Jenis pesawat',
'model-alat-berat' => 'Model Alat Berat',
'jenis-kapal' => 'Jenis kapal',
'jenis-kendaraan' => 'Jenis kendaraan',
];
foreach ($basicDataRoutes as $route => $title) {
@@ -505,11 +500,484 @@ $basicDataRoutes = [
Breadcrumbs::for('basicdata.editData', function (BreadcrumbTrail $trail, $type = null) {
$trail->parent('basicdata');
if ($type) {
$title = $basicDataRoutes[$type] ?? ucwords(str_replace('-', ' ', $type));
$trail->push("Edit $title");
} else {
$trail->push("Edit Data");
Breadcrumbs::for('basicdata.jenis-fasilitas-kredit.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-fasilitas-kredit');
$trail->push('Edit Jenis Fasilitas Kredit');
});
Breadcrumbs::for('basicdata.jenis-legalitas-jaminan', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Jenis Legalitas Jaminan', route('basicdata.jenis-legalitas-jaminan.index'));
});
Breadcrumbs::for('basicdata.jenis-legalitas-jaminan.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-legalitas-jaminan');
$trail->push('Tambah Jenis Legalitas Jaminan', route('basicdata.jenis-legalitas-jaminan.create'));
});
Breadcrumbs::for('basicdata.jenis-legalitas-jaminan.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-legalitas-jaminan');
$trail->push('Edit Jenis Legalitas Jaminan');
});
Breadcrumbs::for('basicdata.jenis-jaminan', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Jenis Aset', route('basicdata.jenis-jaminan.index'));
});
Breadcrumbs::for('basicdata.jenis-jaminan.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-jaminan');
$trail->push('Tambah Jenis Aset', route('basicdata.jenis-jaminan.create'));
});
Breadcrumbs::for('basicdata.jenis-jaminan.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-jaminan');
$trail->push('Edit Jenis Aset');
});
Breadcrumbs::for('basicdata.jenis_laporan', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Jenis Laporan', route('basicdata.jenis_laporan.index'));
});
Breadcrumbs::for('basicdata.jenis_laporan.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis_laporan');
$trail->push('Tambah Jenis Laporan', route('basicdata.jenis_laporan.create'));
});
Breadcrumbs::for('basicdata.jenis_laporan.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis_laporan');
$trail->push('Edit Jenis Laporan');
});
Breadcrumbs::for('basicdata.tujuan-penilaian', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Tujuan Penilaian', route('basicdata.tujuan-penilaian.index'));
});
Breadcrumbs::for('basicdata.tujuan-penilaian.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.tujuan-penilaian');
$trail->push('Tambah Tujuan Penilaian', route('basicdata.tujuan-penilaian.create'));
});
Breadcrumbs::for('basicdata.tujuan-penilaian.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.tujuan-penilaian');
$trail->push('Edit Tujuan Penilaian');
});
Breadcrumbs::for('basicdata.tujuan_penilaian_kjpp', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Tujuan Penilaian KJPP', route('basicdata.tujuan_penilaian_kjpp.index'));
});
Breadcrumbs::for('basicdata.tujuan_penilaian_kjpp.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.tujuan_penilaian_kjpp');
$trail->push('Tambah Tujuan Penilaian KJPP', route('basicdata.tujuan_penilaian_kjpp.create'));
});
Breadcrumbs::for('basicdata.tujuan_penilaian_kjpp.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.tujuan_penilaian_kjpp');
$trail->push('Edit Tujuan Penilaian KJPP');
});
Breadcrumbs::for('basicdata.jenis-dokumen', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Jenis Dokumen', route('basicdata.jenis-dokumen.index'));
});
Breadcrumbs::for('basicdata.jenis-dokumen.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-dokumen');
$trail->push('Tambah Jenis Dokumen', route('basicdata.jenis-dokumen.create'));
});
Breadcrumbs::for('basicdata.jenis-dokumen.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-dokumen');
$trail->push('Edit Jenis Dokumen');
});
Breadcrumbs::for('basicdata.nilai-plafond', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Nilai Plafond', route('basicdata.nilai-plafond.index'));
});
Breadcrumbs::for('basicdata.nilai-plafond.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.nilai-plafond');
$trail->push('Tambah Nilai Plafond', route('basicdata.nilai-plafond.create'));
});
Breadcrumbs::for('basicdata.nilai-plafond.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.nilai-plafond');
$trail->push('Edit Nilai Plafond');
});
Breadcrumbs::for('basicdata.hubungan-pemilik-jaminan', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Hubungan Pemilik Jaminan', route('basicdata.hubungan-pemilik-jaminan.index'));
});
Breadcrumbs::for('basicdata.hubungan-pemilik-jaminan.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.hubungan-pemilik-jaminan');
$trail->push('Tambah Hubungan Pemilik Jaminan', route('basicdata.hubungan-pemilik-jaminan.create'));
});
Breadcrumbs::for('basicdata.hubungan-pemilik-jaminan.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.hubungan-pemilik-jaminan');
$trail->push('Edit Hubungan Pemilik Jaminan');
});
Breadcrumbs::for('basicdata.hubungan-penghuni-jaminan', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Hubungan Penghuni Jaminan', route('basicdata.hubungan-penghuni-jaminan.index'));
});
Breadcrumbs::for('basicdata.hubungan-penghuni-jaminan.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.hubungan-penghuni-jaminan');
$trail->push('Tambah Hubungan Penghuni Jaminan', route('basicdata.hubungan-penghuni-jaminan.create'));
});
Breadcrumbs::for('basicdata.hubungan-penghuni-jaminan.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.hubungan-penghuni-jaminan');
$trail->push('Edit Hubungan Penghuni Jaminan');
});
Breadcrumbs::for('basicdata.arah-mata-angin', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Arah Mata Angin', route('basicdata.arah-mata-angin.index'));
});
Breadcrumbs::for('basicdata.arah-mata-angin.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.arah-mata-angin');
$trail->push('Tambah Arah Mata Angin', route('basicdata.arah-mata-angin.create'));
});
Breadcrumbs::for('basicdata.arah-mata-angin.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.hubungan-penghuni-jaminan');
$trail->push('Edit Arah Mata Angin');
});
Breadcrumbs::for('basicdata.status-permohonan', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Status Permohonan', route('basicdata.status-permohonan.index'));
});
Breadcrumbs::for('basicdata.status-permohonan.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.status-permohonan');
$trail->push('Tambah Status Permohonan', route('basicdata.status-permohonan.create'));
});
Breadcrumbs::for('basicdata.status-permohonan.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.status-permohonan');
$trail->push('Edit Status Permohonan');
});
// KJPP
Breadcrumbs::for('basicdata.kjpp', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('KJPP', route('basicdata.kjpp.index'));
});
Breadcrumbs::for('basicdata.kjpp.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.kjpp');
$trail->push('Tambah KJPP', route('basicdata.kjpp.create'));
});
Breadcrumbs::for('basicdata.kjpp.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.kjpp');
$trail->push('Edit KJPP');
});
Breadcrumbs::for('basicdata.kjpp.show', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.kjpp');
$trail->push('Show KJPP');
});
// End KJPP
// Ijin Usaha
Breadcrumbs::for('basicdata.ijin_usaha', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Ijin Usaha', route('basicdata.ijin_usaha.index'));
});
Breadcrumbs::for('basicdata.ijin_usaha.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.ijin_usaha');
$trail->push('Tambah Ijin Usaha', route('basicdata.ijin_usaha.create'));
});
Breadcrumbs::for('basicdata.ijin_usaha.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.ijin_usaha');
$trail->push('Edit Ijin Usaha');
});
Breadcrumbs::for('debitur', function (BreadcrumbTrail $trail) {
$trail->push('Debitur', route('debitur.index'));
});
Breadcrumbs::for('debitur.create', function (BreadcrumbTrail $trail) {
$trail->parent('debitur');
$trail->push('Tambah Debitur', route('debitur.create'));
});
Breadcrumbs::for('debitur.edit', function (BreadcrumbTrail $trail) {
$trail->parent('debitur');
$trail->push('Data Debitur');
});
Breadcrumbs::for('debitur.jaminan.index', function (BreadcrumbTrail $trail) {
$trail->parent('debitur');
$trail->push('Data Jaminan Debitur');
});
Breadcrumbs::for('debitur.jaminan.create', function (BreadcrumbTrail $trail) {
$trail->parent('debitur.jaminan.index');
$trail->push('Tambah Data Jaminan Debitur');
});
Breadcrumbs::for('debitur.jaminan.edit', function (BreadcrumbTrail $trail) {
$trail->parent('debitur.jaminan.index');
$trail->push('Edit Data Jaminan Debitur');
});
Breadcrumbs::for('debitur.pemilik.index', function (BreadcrumbTrail $trail) {
$trail->parent('debitur');
$trail->push('Data Pemilik Jaminan Debitur');
});
Breadcrumbs::for('debitur.pemilik.create', function (BreadcrumbTrail $trail) {
$trail->parent('debitur.pemilik.index');
$trail->push('Tambah Data Pemilik Jaminan Debitur');
});
Breadcrumbs::for('debitur.pemilik.edit', function (BreadcrumbTrail $trail) {
$trail->parent('debitur.pemilik.index');
$trail->push('Edit Data Pemilik Jaminan Debitur');
});
Breadcrumbs::for('permohonan.index', function (BreadcrumbTrail $trail) {
$trail->push('Permohonan', route('permohonan.index'));
});
Breadcrumbs::for('permohonan.show', function (BreadcrumbTrail $trail) {
$trail->parent('permohonan.index');
$trail->push('Show Permohonan');
});
Breadcrumbs::for('permohonan.create', function (BreadcrumbTrail $trail) {
$trail->parent('permohonan.index');
$trail->push('Tambah Permohonan', route('permohonan.create'));
});
Breadcrumbs::for('permohonan.create.debitur', function (BreadcrumbTrail $trail) {
$trail->parent('permohonan.index');
$trail->push('Tambah Permohonan', route('permohonan.create'));
});
Breadcrumbs::for('permohonan.edit', function (BreadcrumbTrail $trail) {
$trail->parent('permohonan.index');
$trail->push('Data Permohonan');
});
Breadcrumbs::for('basicdata.region', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Region', route('basicdata.region.index'));
});
Breadcrumbs::for('basicdata.region.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.region');
$trail->push('Tambah Region', route('basicdata.region.create'));
});
Breadcrumbs::for('basicdata.region.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.region');
$trail->push('Edit Region');
});
Breadcrumbs::for('basicdata.teams', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Team', route('basicdata.teams.index'));
});
Breadcrumbs::for('basicdata.teams.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.teams');
$trail->push('Tambah Team', route('basicdata.teams.create'));
});
Breadcrumbs::for('basicdata.teams.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.teams');
$trail->push('Edit Team');
});
Breadcrumbs::for('basicdata.jenis-penilaian', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Jenis Penilaian', route('basicdata.jenis-penilaian.index'));
});
Breadcrumbs::for('basicdata.jenis-penilaian.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-penilaian');
$trail->push('Tambah Jenis Penilaian', route('basicdata.jenis-penilaian.create'));
});
Breadcrumbs::for('basicdata.jenis-penilaian.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-penilaian');
$trail->push('Edit Jenis Penilaian');
});
Breadcrumbs::for('penilaian', function (BreadcrumbTrail $trail) {
$trail->push('Penilaian', route('penilaian.index'));
});
Breadcrumbs::for('penilaian.assignment', function (BreadcrumbTrail $trail) {
$trail->parent('penilaian');
$trail->push('Assignment');
});
Breadcrumbs::for('authorization.index', function (BreadcrumbTrail $trail) {
$trail->push('Permohonan', route('authorization.index'));
});
Breadcrumbs::for('authorization.show', function (BreadcrumbTrail $trail) {
$trail->parent('authorization.index');
$trail->push('Detail Permohonan');
});
Breadcrumbs::for('activity', function (BreadcrumbTrail $trail) {
$trail->push('Activity', route('activity.index'));
});
Breadcrumbs::for('activity.show', function (BreadcrumbTrail $trail) {
$trail->parent('activity');
$trail->push('Activity activity');
});
Breadcrumbs::for('activity.progres', function (BreadcrumbTrail $trail) {
$trail->push('Team activity');
});
Breadcrumbs::for('tender', function (BreadcrumbTrail $trail) {
$trail->push('Tender');
});
Breadcrumbs::for('tender.penawaran', function (BreadcrumbTrail $trail) {
$trail->parent('tender');
$trail->push('Data Penawaran', route('tender.penawaran.index'));
});
Breadcrumbs::for('tender.penawaran.show', function (BreadcrumbTrail $trail, $noreg) {
$trail->parent('tender');
$trail->push('Detail Penawaran', route('tender.penawaran.show', $noreg));
});
Breadcrumbs::for('tender.penawaran.createPenawaran', function (BreadcrumbTrail $trail, $noreg) {
$trail->parent('tender.penawaran');
$trail->push('Tambah Data Penawaran', route('tender.penawaran.createPenawaran', $noreg));
});
Breadcrumbs::for('tender.penawaran.editPenawaran', function (BreadcrumbTrail $trail, $noreg) {
$trail->parent('tender.penawaran');
$trail->push('Penawaran Ulang', route('tender.penawaran.editPenawaran', $noreg));
});
Breadcrumbs::for('tender.penawaran.showSuratTender', function (BreadcrumbTrail $trail, $noreg) {
$trail->parent('tender.penawaran');
$trail->push('Surat Tender', route('tender.penawaran.showSuratTender', $noreg));
});
Breadcrumbs::for('tender.penawaran.suratTenderKJPP', function (BreadcrumbTrail $trail, $noreg, $id) {
$trail->parent('tender.penawaran');
$trail->push(
'Surat Tender KJPP',
route('tender.penawaran.suratTenderKJPP', ['noreg' => $noreg, 'id' => $id]),
);
});
Breadcrumbs::for('tender.penawaran.showKirimEmail', function (BreadcrumbTrail $trail, $noreg) {
$trail->parent('tender.penawaran');
$trail->push('Show Kirim Email Penawaran', route('tender.penawaran.showKirimEmail', $noreg));
});
Breadcrumbs::for('tender.penawaran.ulang', function (BreadcrumbTrail $trail) {
$trail->parent('tender');
$trail->push('Data Penawaran Ulang', route('tender.penawaran.ulang.index'));
});
Breadcrumbs::for('surveyor', function (BreadcrumbTrail $trail) {
$trail->push('Surveyor', route('surveyor.index'));
});
Breadcrumbs::for('surveyor.show', function (BreadcrumbTrail $trail) {
$trail->parent('surveyor');
$trail->push('Detail');
});
Breadcrumbs::for('surveyor.form-inspeksi', function (BreadcrumbTrail $trail) {
$trail->parent('surveyor');
$trail->push('Form Inspeksi');
});
Breadcrumbs::for('surveyor.denah', function (BreadcrumbTrail $trail) {
$trail->parent('surveyor');
$trail->push('Denah');
});
Breadcrumbs::for('surveyor.foto', function (BreadcrumbTrail $trail) {
$trail->parent('surveyor');
$trail->push('Form Foto');
});
Breadcrumbs::for('surveyor.data-pembanding', function (BreadcrumbTrail $trail) {
$trail->parent('surveyor');
$trail->push('Form Pembanding');
});
Breadcrumbs::for('otorisator.pelaporan.index', function (BreadcrumbTrail $trail) {
$trail->parent('otorisator');
$trail->push('Otorisator', route('otorisator.pelaporan.index'));
});
// basic data surveyor
$basicDataRoutes = [
'bentuk-tanah' => 'Bentuk Tanah',
'kontur-tanah' => 'Kontur Tanah',
'posisi-kavling' => 'Posisi Kavling',
'ketinggian-tanah' => 'Ketinggian Tanah',
'kondisi-fisik-tanah' => 'Kondisi Fisik Tanah',
'jenis-bangunan' => 'Jenis Bangunan',
'kondisi-bangunan' => 'Kondisi Bangunan',
'sifat-bangunan' => 'Sifat Bangunan',
'spek-bangunan' => 'Speksifikasi Bangunan',
'spek-kategori-bangunan' => 'Speksifikasi Kategori Bangunan',
'sarana-pelengkap' => 'Sarana Pelengkap',
'lalu-lintas-lokasi' => 'Lalu Lintas',
'tingkat-keramaian' => 'Tingkat Keramaian',
'gol-mas-sekitar' => 'Golongan Masyarakat Sekitar',
'lantai-unit' => 'Lantai Unit',
'view-unit' => 'View Unit',
'bentuk-unit' => 'Bentuk unit',
'perkerasan-jalan' => 'Perkerasan jalan',
'jenis-pesawat' => 'Jenis pesawat',
'model-alat-berat' => 'Model Alat Berat',
'jenis-kapal' => 'Jenis kapal',
'jenis-kendaraan' => 'Jenis kendaraan',
'jenis-unit' => 'Jenis unit',
'terletak-area' => 'Terletak di Area',
'merupakan-daerah' => 'Merupakan Daerah',
'posisi-unit' => 'Posisi unit',
'bentuk-unit' => 'Bentuk unit',
'fasilitas-objek' => 'Fasilitas Umum Dekat Objek',
];
foreach ($basicDataRoutes as $route => $title) {
Breadcrumbs::for("basicdata.{$route}", function (BreadcrumbTrail $trail) use ($route, $title) {
$trail->parent('basicdata');
$trail->push($title, route("basicdata.{$route}.index"));
});
if ($type) {
$title = $basicDataRoutes[$type] ?? ucwords(str_replace('-', ' ', $type));
$trail->push("Edit $title");
} else {
$trail->push("Edit Data");
}
}
});
@@ -556,15 +1024,63 @@ $basicDataRoutes = [
$trail->push('Penilai', route('penilai.index'));
});
Breadcrumbs::for('penilai.show', function (BreadcrumbTrail $trail) {
$trail->parent('penilai');
$trail->push('Detail Penilai');
});
Breadcrumbs::for('penilai.show', function (BreadcrumbTrail $trail) {
$trail->parent('penilai');
$trail->push('Detail Penilai');
});
Breadcrumbs::for('penilai.lampiran', function (BreadcrumbTrail $trail) {
$trail->parent('penilai');
$trail->push('Lampiran Foto dan Dokument');
});
Breadcrumbs::for('sla', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('SLA', route('basicdata.sla.index'));
});
Breadcrumbs::for('persetujuan-penawaran', function (BreadcrumbTrail $trail) {
$trail->push('Persetujuan Penawaran', route('persetujuan-penawaran.index'));
});
Breadcrumbs::for('persetujuan-penawaran.edit', function (BreadcrumbTrail $trail) {
$trail->parent('persetujuan-penawaran');
$trail->push('Proses Persetujuan Penawaran');
});
Breadcrumbs::for('laporan', function (BreadcrumbTrail $trail) {
$trail->push('Laporan', route('laporan.sederhana.index'));
});
Breadcrumbs::for('laporan.sederhana.index', function (BreadcrumbTrail $trail) {
$trail->parent('laporan');
$trail->push('Sederhana', route('laporan.sederhana.index'));
});
Breadcrumbs::for('laporan.standard.index', function (BreadcrumbTrail $trail) {
$trail->parent('laporan');
$trail->push('Standard', route('laporan.standard.index'));
});
Breadcrumbs::for('resume', function (BreadcrumbTrail $trail) {
$trail->push('Resume', route('resume.index'));
});
Breadcrumbs::for('resume.show', function (BreadcrumbTrail $trail) {
$trail->parent('resume');
$trail->push('Detail');
});
Breadcrumbs::for('penilai', function (BreadcrumbTrail $trail) {
$trail->push('Penilai', route('penilai.index'));
});
Breadcrumbs::for('penilai.show', function (BreadcrumbTrail $trail) {
$trail->parent('penilai');
$trail->push('Detail Penilai');
});
Breadcrumbs::for('penilai.lampiran', function (BreadcrumbTrail $trail) {
$trail->parent('penilai');
$trail->push('Lampiran Foto dan Dokument');
});
Breadcrumbs::for('sla', function (BreadcrumbTrail $trail) {
@@ -582,5 +1098,4 @@ Breadcrumbs::for('penilai.lampiran', function (BreadcrumbTrail $trail) {
$trail->push('Proses Persetujuan Penawaran');
});
// add andy
require __DIR__ . '/breadcrumbs_registrasi.php';