Tambah fitur unggah dokumen dan update status permohonan

Menambahkan fitur untuk mengunggah dokumen persetujuan penawaran, surat representasi, dan bukti bayar saat menyimpan persetujuan penawaran. Sekaligus mengupdate status permohonan terkait menjadi 'spk'. Menambahkan tampilan baru untuk formulir persetujuan penawaran dan memperbarui breadcrumb untuk mendukung halaman baru ini.
This commit is contained in:
Daeng Deni Mardaeni
2024-11-21 13:00:57 +07:00
parent 43caa255a1
commit 41687dfdd6
3 changed files with 726 additions and 559 deletions

View File

@@ -12,6 +12,7 @@
class PersetujuanPenawaranController extends Controller
{
public $user;
/**
* Display a listing of the resource.
*/
@@ -21,6 +22,12 @@
return view('lpj::persetujuan_penawaran.index', compact('persetujuanPenawarans'));
}
/**
* Store a newly created resource in storage.
*/
/**
* Store a newly created resource in storage.
*/
/**
* Store a newly created resource in storage.
*/
@@ -29,10 +36,42 @@
$validated = $request->validated();
$validated['created_by'] = Auth::id();
PersetujuanPenawaran::create($validated);
$persetujuanPenawaran = PersetujuanPenawaran::updateOrCreate(
['penawaran_id' => $validated['penawaran_id']],
$validated,
);
$folderPath = 'persetujuan_penawaran/' . $validated['penawaran_id'];
if ($request->hasFile('file_persetujuan_penawaran')) {
$persetujuanPenawaran->file_persetujuan_penawaran = $request->file('file_persetujuan_penawaran')->store(
$folderPath,
'public',
);
}
if ($request->hasFile('surat_representasi')) {
$persetujuanPenawaran->surat_representasi = $request->file('surat_representasi')->store(
$folderPath,
'public',
);
}
if ($request->hasFile('bukti_bayar')) {
$persetujuanPenawaran->bukti_bayar = $request->file('bukti_bayar')->store($folderPath, 'public');
}
$persetujuanPenawaran->save();
// Update the status of the related permohonan to 'spk'
$permohonan = Permohonan::find(request()->get('permohonan_id'));
if ($permohonan) {
$permohonan->status = 'spk';
$permohonan->save();
}
return redirect()
->route('persetujuan-penawaran.index')->with('success', 'Persetujuan Penawaran created successfully.');
->route('persetujuan-penawaran.index')->with('success', 'Persetujuan Penawaran berhasil disimpan.');
}
/**
@@ -54,9 +93,11 @@
/**
* Show the form for editing the specified resource.
*/
public function edit(PersetujuanPenawaran $persetujuanPenawaran)
public function edit($id)
{
return view('lpj::persetujuan_penawaran.edit', compact('persetujuanPenawaran'));
$permohonan = Permohonan::with(['debiture', 'penawaranTender.detail'])->find($id);
return view('lpj::persetujuan_penawaran.form', compact('permohonan'));
}
/**
@@ -97,8 +138,7 @@
if ($request->has('search') && !empty($request->get('search'))) {
$search = $request->get('search');
$query->where(function ($q) use ($search) {
$q
->where('nomor_registrasi', 'LIKE', "%$search%");
$q->where('nomor_registrasi', 'LIKE', "%$search%");
});
}
@@ -125,7 +165,7 @@
$filteredRecords = $query->count();
// Get the data for the current page
$data = $query->with(['debiture','penawaranTender.detail','penawaranTender.persetujuan'])->get();
$data = $query->with(['debiture', 'penawaranTender.detail', 'penawaranTender.persetujuan'])->get();
// Calculate the page count
$pageCount = ceil($totalRecords / $request->get('size'));