From 36dffc322e33c52bda10b4cb6b3a75dfb54f069c Mon Sep 17 00:00:00 2001 From: ariefabbauftech-ai Date: Thu, 11 Sep 2025 10:27:46 +0700 Subject: [PATCH] [Ubah Controller Pernikahan, HBD, Khitan] --- .../Controllers/Api/KhitanApiController.php | 14 +++++-- .../Api/PernikahanApiController.php | 15 ++++++-- .../Api/UlangTahunApiController.php | 38 +++++++++++-------- 3 files changed, 43 insertions(+), 24 deletions(-) diff --git a/backend/app/Http/Controllers/Api/KhitanApiController.php b/backend/app/Http/Controllers/Api/KhitanApiController.php index 56a5a48..57a5064 100644 --- a/backend/app/Http/Controllers/Api/KhitanApiController.php +++ b/backend/app/Http/Controllers/Api/KhitanApiController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\Pelanggan; use App\Models\PelangganDetail; +use App\Models\Template; // ✅ tambahkan ini use Illuminate\Http\Request; class KhitanApiController extends Controller @@ -36,15 +37,20 @@ class KhitanApiController extends Controller 'galeri' => 'nullable|string', ]); + // ✅ Ambil template dari database + $template = Template::with('kategori')->findOrFail($data['template_id']); + + // ✅ Simpan ke tabel pelanggan $pelanggan = Pelanggan::create([ 'nama_pemesan' => $data['nama_pemesan'], - 'nama_template' => 'Template Khitan', - 'kategori' => 'khitan', + 'nama_template' => $template->nama_template, + 'kategori' => $template->kategori->nama ?? 'khitan', 'email' => $data['email'], 'no_tlpn' => $data['no_hp'], - 'harga' => 0, + 'harga' => $template->harga, ]); + // ✅ Simpan detail form ke tabel pelanggan_details PelangganDetail::create([ 'pelanggan_id' => $pelanggan->id, 'detail_form' => $data, @@ -53,7 +59,7 @@ class KhitanApiController extends Controller return response()->json([ 'success' => true, 'message' => 'Form khitan berhasil dikirim', - 'data' => $pelanggan->load('details') + 'data' => $pelanggan->load('details') ], 201); } } diff --git a/backend/app/Http/Controllers/Api/PernikahanApiController.php b/backend/app/Http/Controllers/Api/PernikahanApiController.php index 659660c..b68f95a 100644 --- a/backend/app/Http/Controllers/Api/PernikahanApiController.php +++ b/backend/app/Http/Controllers/Api/PernikahanApiController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\Pelanggan; use App\Models\PelangganDetail; +use App\Models\Template; // ✅ tambahkan ini use Illuminate\Http\Request; class PernikahanApiController extends Controller @@ -16,6 +17,7 @@ class PernikahanApiController extends Controller 'nama_pemesan' => 'required|string|max:255', 'no_hp' => 'required|string|max:20', 'email' => 'required|email', + // Pria 'nama_lengkap_pria' => 'required|string|max:255', 'nama_panggilan_pria' => 'required|string|max:255', @@ -56,15 +58,20 @@ class PernikahanApiController extends Controller 'galeri' => 'nullable|string', ]); + // ✅ Ambil template berdasarkan template_id + $template = Template::with('kategori')->findOrFail($data['template_id']); + + // ✅ Simpan ke tabel pelanggan $pelanggan = Pelanggan::create([ 'nama_pemesan' => $data['nama_pemesan'], - 'nama_template' => 'Template Pernikahan', - 'kategori' => 'pernikahan', + 'nama_template' => $template->nama_template, + 'kategori' => $template->kategori->nama ?? '-', 'email' => $data['email'], 'no_tlpn' => $data['no_hp'], - 'harga' => 0, + 'harga' => $template->harga, ]); + // ✅ Simpan detail form ke tabel pelanggan_details PelangganDetail::create([ 'pelanggan_id' => $pelanggan->id, 'detail_form' => $data, @@ -73,7 +80,7 @@ class PernikahanApiController extends Controller return response()->json([ 'success' => true, 'message' => 'Form pernikahan berhasil dikirim', - 'data' => $pelanggan->load('details') + 'data' => $pelanggan->load('details') ], 201); } } diff --git a/backend/app/Http/Controllers/Api/UlangTahunApiController.php b/backend/app/Http/Controllers/Api/UlangTahunApiController.php index b6bcdf9..083e9ce 100644 --- a/backend/app/Http/Controllers/Api/UlangTahunApiController.php +++ b/backend/app/Http/Controllers/Api/UlangTahunApiController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\Pelanggan; use App\Models\PelangganDetail; +use App\Models\Template; // ✅ tambahkan ini use Illuminate\Http\Request; class UlangTahunApiController extends Controller @@ -17,32 +18,37 @@ class UlangTahunApiController extends Controller 'no_hp' => 'required|string|max:20', 'email' => 'required|email', - //Data - 'nama_lengkap_anak' => 'required|string|max:255', + // Data Anak + 'nama_lengkap_anak' => 'required|string|max:255', 'nama_panggilan_anak' => 'required|string|max:100', - 'bapak_anak' => 'required|string|max:255', - 'ibu_anak' => 'required|string|max:255', - 'umur_dirayakan' => 'required|string|max:10', - 'anak_ke' => 'required|string|max:5', + 'bapak_anak' => 'required|string|max:255', + 'ibu_anak' => 'required|string|max:255', + 'umur_dirayakan' => 'required|string|max:10', + 'anak_ke' => 'required|string|max:5', - //Jadwal + // Jadwal 'hari_tanggal_acara' => 'required|date', - 'waktu_acara' => 'required|string|max:50', - 'alamat_acara' => 'required|string', - 'maps_acara' => 'nullable|string', - 'link_musik' => 'nullable|string', - 'galeri' => 'nullable|string', + 'waktu_acara' => 'required|string|max:50', + 'alamat_acara' => 'required|string', + 'maps_acara' => 'nullable|string', + 'link_musik' => 'nullable|string', + 'galeri' => 'nullable|string', ]); + // ✅ Ambil template berdasarkan template_id + $template = Template::with('kategori')->findOrFail($data['template_id']); + + // ✅ Simpan ke tabel pelanggan $pelanggan = Pelanggan::create([ 'nama_pemesan' => $data['nama_pemesan'], - 'nama_template' => 'Template Ulang Tahun', - 'kategori' => 'ulang_tahun', + 'nama_template' => $template->nama_template, + 'kategori' => $template->kategori->nama ?? 'ulang_tahun', 'email' => $data['email'], 'no_tlpn' => $data['no_hp'], - 'harga' => 0, + 'harga' => $template->harga, ]); + // ✅ Simpan detail form ke tabel pelanggan_details PelangganDetail::create([ 'pelanggan_id' => $pelanggan->id, 'detail_form' => $data, @@ -51,7 +57,7 @@ class UlangTahunApiController extends Controller return response()->json([ 'success' => true, 'message' => 'Form ulang tahun berhasil dikirim', - 'data' => $pelanggan->load('details') + 'data' => $pelanggan->load('details') ], 201); } }