diff --git a/api/generate_pdf.php b/api/generate_pdf.php index 42d4f1a..27ab866 100644 --- a/api/generate_pdf.php +++ b/api/generate_pdf.php @@ -135,8 +135,8 @@ $pdf->SectionTitle('5. Life-Sustaining Treatment'); $pdf->Field('Option', $lpa_data['life_sustaining_treatment']); $pdf->Ln(5); -// 6. Witness for Donor -$pdf->SectionTitle('6. Witness for Donor'); +// 6. Witness Information +$pdf->SectionTitle('6. Donor\'s Witness'); $pdf->Field('Name', $lpa_data['witness_first_name'] . ' ' . $lpa_data['witness_last_name']); $pdf->Field('Address', $lpa_data['witness_address_line1'] . ', ' . $lpa_data['witness_postcode']); $pdf->Ln(5); @@ -165,10 +165,26 @@ $pdf->Field('Name', $name); $pdf->Field('Address', $lpa_data['certificate_provider_address_line1'] . ', ' . $lpa_data['certificate_provider_postcode']); $pdf->Ln(5); -// 10. Registration -$pdf->SectionTitle('10. Registration'); -$pdf->Field('Who is registering', ucfirst($lpa_data['registration_who'])); -if ($lpa_data['registration_who'] === 'attorneys') { +// 10. Attorney Witnesses +$pdf->SectionTitle('10. Attorney Witnesses'); +foreach ($primary_attorneys as $idx => $att) { + if (!empty($att['witness_first_name'])) { + $w_name = $att['witness_first_name'] . ' ' . $att['witness_last_name']; + $pdf->Field('Witness for ' . $att['first_name'], $w_name); + } +} +foreach ($replacement_attorneys as $idx => $att) { + if (!empty($att['witness_first_name'])) { + $w_name = $att['witness_first_name'] . ' ' . $att['witness_last_name']; + $pdf->Field('Witness for ' . $att['first_name'], $w_name); + } +} +$pdf->Ln(5); + +// 11. Registration +$pdf->SectionTitle('11. Registration'); +$pdf->Field('Who is registering', ucfirst($lpa_data['registration_who'] ?? '')); +if (($lpa_data['registration_who'] ?? '') === 'attorneys') { $reg_ids = explode(',', $lpa_data['registering_attorneys_ids'] ?? ''); $reg_names = []; foreach ($primary_attorneys as $att) { @@ -180,21 +196,21 @@ if ($lpa_data['registration_who'] === 'attorneys') { } $pdf->Ln(5); -// 11. Correspondence -$pdf->SectionTitle('11. Correspondence'); -$pdf->Field('Recipient', $lpa_data['correspondence_who']); -if ($lpa_data['correspondence_who'] !== 'Donor') { - $pdf->Field('Name', $lpa_data['correspondence_first_name'] . ' ' . $lpa_data['correspondence_last_name']); - $pdf->Field('Address', $lpa_data['correspondence_address_line1'] . ', ' . $lpa_data['correspondence_postcode']); - $pdf->Field('Contact Preference', $lpa_data['correspondence_contact_preference']); +// 12. Correspondence +$pdf->SectionTitle('12. Correspondence'); +$pdf->Field('Recipient', $lpa_data['correspondence_who'] ?? ''); +if (($lpa_data['correspondence_who'] ?? '') !== 'Donor') { + $pdf->Field('Name', ($lpa_data['correspondence_first_name'] ?? '') . ' ' . ($lpa_data['correspondence_last_name'] ?? '')); + $pdf->Field('Address', ($lpa_data['correspondence_address_line1'] ?? '') . ', ' . ($lpa_data['correspondence_postcode'] ?? '')); + $pdf->Field('Contact Preference', $lpa_data['correspondence_contact_preference'] ?? ''); } $pdf->Ln(5); -// 12. Payment -$pdf->SectionTitle('12. Payment & Fee'); -$pdf->Field('Payment Method', $lpa_data['payment_method']); -$pdf->Field('Reduced Fee Eligibility', $lpa_data['reduced_fee_eligibility']); -$pdf->Field('Repeat Application', $lpa_data['is_repeat_application'] ? 'Yes (Case: ' . $lpa_data['repeat_case_number'] . ')' : 'No'); +// 13. Payment +$pdf->SectionTitle('13. Payment & Fee'); +$pdf->Field('Payment Method', $lpa_data['payment_method'] ?? ''); +$pdf->Field('Reduced Fee Eligibility', $lpa_data['reduced_fee_eligibility'] ?? ''); +$pdf->Field('Repeat Application', ($lpa_data['is_repeat_application'] ?? false) ? 'Yes (Case: ' . ($lpa_data['repeat_case_number'] ?? '') . ')' : 'No'); -$filename = 'LPA_' . str_replace(' ', '_', $lpa_data['donor_name']) . '_' . date('Ymd') . '.pdf'; -$pdf->Output('D', $filename); +$filename = 'LPA_' . str_replace(' ', '_', ($lpa_data['donor_name'] ?? 'Summary')) . '_' . date('Ymd') . '.pdf'; +$pdf->Output('D', $filename); \ No newline at end of file diff --git a/api/save_lpa.php b/api/save_lpa.php index 0ed7cab..59ab10c 100644 --- a/api/save_lpa.php +++ b/api/save_lpa.php @@ -74,7 +74,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $id = db()->lastInsertId(); } - echo json_encode(['success' => true, 'id' => $id, 'next_step' => 2, 'message' => 'Step 1 saved successfully.']); + echo json_encode(['success' => true, 'id' => (int)$id, 'next_step' => 2, 'message' => 'Step 1 saved successfully.']); } elseif ($step === 2) { if (!$lpa_id) { @@ -108,7 +108,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $next_step = ($next_action === 'next_step') ? 3 : 2; - echo json_encode(['success' => true, 'id' => $lpa_id, 'next_step' => $next_step, 'message' => 'Attorney saved successfully.']); + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'next_step' => $next_step, 'message' => 'Attorney saved successfully.']); } elseif ($step === 3) { if (!$lpa_id) { echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 3.']); @@ -125,7 +125,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $stmt = db()->prepare("UPDATE lpa_applications SET attorney_decision_type = ?, step_reached = GREATEST(step_reached, 3) WHERE id = ?"); $stmt->execute([$attorney_decision_type, $lpa_id]); - echo json_encode(['success' => true, 'id' => $lpa_id, 'next_step' => 4, 'message' => 'Decision-making preference saved.']); + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'next_step' => 4, 'message' => 'Decision-making preference saved.']); } elseif ($step === 4) { if (!$lpa_id) { echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 4.']); @@ -158,7 +158,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $next_step = ($next_action === 'next_step') ? 5 : 4; - echo json_encode(['success' => true, 'id' => $lpa_id, 'next_step' => $next_step, 'message' => 'Replacement attorney saved successfully.']); + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'next_step' => $next_step, 'message' => 'Replacement attorney saved successfully.']); } elseif ($step === 5) { if (!$lpa_id) { echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 5.']); @@ -166,6 +166,28 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { } $life_sustaining_treatment = $_POST['life_sustaining_treatment'] ?? ''; + + if (empty($life_sustaining_treatment)) { + echo json_encode(['success' => false, 'error' => 'Please select an option for life-sustaining treatment.']); + exit; + } + + $stmt = db()->prepare("UPDATE lpa_applications SET + life_sustaining_treatment = ?, + step_reached = GREATEST(step_reached, 5) + WHERE id = ?"); + $stmt->execute([ + $life_sustaining_treatment, + $lpa_id + ]); + + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'next_step' => 6, 'message' => 'Step 5 saved successfully.']); + } elseif ($step === 6) { + if (!$lpa_id) { + echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 6.']); + exit; + } + $witness_title = $_POST['witness_title'] ?? ''; $witness_first_name = $_POST['witness_first_name'] ?? ''; $witness_last_name = $_POST['witness_last_name'] ?? ''; @@ -174,13 +196,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $witness_address_line3 = $_POST['witness_address_line3'] ?? ''; $witness_postcode = $_POST['witness_postcode'] ?? ''; - if (empty($life_sustaining_treatment) || empty($witness_first_name) || empty($witness_last_name) || empty($witness_address_line1) || empty($witness_postcode)) { - echo json_encode(['success' => false, 'error' => 'Please fill in all required fields.']); + if (empty($witness_first_name) || empty($witness_last_name) || empty($witness_address_line1) || empty($witness_postcode)) { + echo json_encode(['success' => false, 'error' => 'Please fill in all required witness fields.']); exit; } $stmt = db()->prepare("UPDATE lpa_applications SET - life_sustaining_treatment = ?, witness_title = ?, witness_first_name = ?, witness_last_name = ?, @@ -188,10 +209,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { witness_address_line2 = ?, witness_address_line3 = ?, witness_postcode = ?, - step_reached = GREATEST(step_reached, 5) + step_reached = GREATEST(step_reached, 6) WHERE id = ?"); $stmt->execute([ - $life_sustaining_treatment, $witness_title, $witness_first_name, $witness_last_name, @@ -202,10 +222,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $lpa_id ]); - echo json_encode(['success' => true, 'id' => $lpa_id, 'next_step' => 6, 'message' => 'Step 5 saved successfully.']); - } elseif ($step === 6) { + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'next_step' => 7, 'message' => 'Step 6 saved successfully.']); + } elseif ($step === 7) { if (!$lpa_id) { - echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 6.']); + echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 7.']); exit; } @@ -227,15 +247,15 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $stmt->execute([$lpa_id, $title, $first_name, $last_name, $address1, $address2, $address3, $postcode]); // Update step reached - $stmt = db()->prepare("UPDATE lpa_applications SET step_reached = GREATEST(step_reached, 6) WHERE id = ?"); + $stmt = db()->prepare("UPDATE lpa_applications SET step_reached = GREATEST(step_reached, 7) WHERE id = ?"); $stmt->execute([$lpa_id]); - $next_step = ($next_action === 'next_step') ? 7 : 6; + $next_step = ($next_action === 'next_step') ? 8 : 7; - echo json_encode(['success' => true, 'id' => $lpa_id, 'next_step' => $next_step, 'message' => 'Person to notify saved successfully.']); - } elseif ($step === 7) { + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'next_step' => $next_step, 'message' => 'Person to notify saved successfully.']); + } elseif ($step === 8) { if (!$lpa_id) { - echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 7.']); + echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 8.']); exit; } @@ -245,14 +265,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $stmt = db()->prepare("UPDATE lpa_applications SET preferences = ?, instructions = ?, - step_reached = GREATEST(step_reached, 7) + step_reached = GREATEST(step_reached, 8) WHERE id = ?"); $stmt->execute([$preferences, $instructions, $lpa_id]); - echo json_encode(['success' => true, 'id' => $lpa_id, 'next_step' => 8, 'message' => 'Step 7 saved successfully.']); - } elseif ($step === 8) { + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'next_step' => 9, 'message' => 'Step 8 saved successfully.']); + } elseif ($step === 9) { if (!$lpa_id) { - echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 8.']); + echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 9.']); exit; } @@ -277,14 +297,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { certificate_provider_address_line2 = ?, certificate_provider_address_line3 = ?, certificate_provider_postcode = ?, - step_reached = GREATEST(step_reached, 8) + step_reached = GREATEST(step_reached, 9) WHERE id = ?"); $stmt->execute([$title, $first_name, $last_name, $address1, $address2, $address3, $postcode, $lpa_id]); - echo json_encode(['success' => true, 'id' => $lpa_id, 'next_step' => 9, 'message' => 'Step 8 saved successfully.']); - } elseif ($step === 9) { + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'next_step' => 10, 'message' => 'Step 9 saved successfully.']); + } elseif ($step === 10) { if (!$lpa_id) { - echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 9.']); + echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 10.']); exit; } @@ -329,13 +349,13 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $stmt->execute([$w_title, $w_first_name, $w_last_name, $w_address1, $w_address2, $w_address3, $w_postcode, $attorney_id, $lpa_id]); } - $stmt = db()->prepare("UPDATE lpa_applications SET step_reached = GREATEST(step_reached, 9) WHERE id = ?"); + $stmt = db()->prepare("UPDATE lpa_applications SET step_reached = GREATEST(step_reached, 10) WHERE id = ?"); $stmt->execute([$lpa_id]); - echo json_encode(['success' => true, 'id' => $lpa_id, 'next_step' => 10, 'message' => 'Attorney witnesses saved successfully.']); - } elseif ($step === 10) { + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'next_step' => 11, 'message' => 'Attorney witnesses saved successfully.']); + } elseif ($step === 11) { if (!$lpa_id) { - echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 10.']); + echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 11.']); exit; } @@ -351,14 +371,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $stmt = db()->prepare("UPDATE lpa_applications SET registration_who = ?, registering_attorneys_ids = ?, - step_reached = GREATEST(step_reached, 10) + step_reached = GREATEST(step_reached, 11) WHERE id = ?"); $stmt->execute([$registration_who, $registering_attorneys_ids, $lpa_id]); - echo json_encode(['success' => true, 'id' => $lpa_id, 'next_step' => 11, 'message' => 'Registration choice saved successfully.']); - } elseif ($step === 11) { + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'next_step' => 12, 'message' => 'Registration choice saved successfully.']); + } elseif ($step === 12) { if (!$lpa_id) { - echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 11.']); + echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 12.']); exit; } @@ -395,7 +415,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { correspondence_contact_preference = ?, correspondence_phone = ?, correspondence_email = ?, - step_reached = GREATEST(step_reached, 11) + step_reached = GREATEST(step_reached, 12) WHERE id = ?"); $stmt->execute([ $correspondence_who, @@ -413,10 +433,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $lpa_id ]); - echo json_encode(['success' => true, 'id' => $lpa_id, 'next_step' => 12, 'message' => 'Correspondence details saved successfully.']); - } elseif ($step === 12) { + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'next_step' => 13, 'message' => 'Correspondence details saved successfully.']); + } elseif ($step === 13) { if (!$lpa_id) { - echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 12.']); + echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 13.']); exit; } @@ -442,7 +462,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { reduced_fee_eligibility = ?, is_repeat_application = ?, repeat_case_number = ?, - step_reached = GREATEST(step_reached, 12) + step_reached = GREATEST(step_reached, 13) WHERE id = ?"); $stmt->execute([ $payment_method, @@ -453,20 +473,20 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $lpa_id ]); - echo json_encode(['success' => true, 'id' => $lpa_id, 'next_step' => 13, 'message' => 'Payment details saved successfully.']); - } elseif ($step === 13) { + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'next_step' => 14, 'message' => 'Payment details saved successfully.']); + } elseif ($step === 14) { if (!$lpa_id) { - echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 13.']); + echo json_encode(['success' => false, 'error' => 'LPA ID is required for Step 14.']); exit; } $stmt = db()->prepare("UPDATE lpa_applications SET - step_reached = GREATEST(step_reached, 13), + step_reached = GREATEST(step_reached, 14), status = 'completed' WHERE id = ?"); $stmt->execute([$lpa_id]); - echo json_encode(['success' => true, 'id' => $lpa_id, 'redirect' => 'dashboard.php', 'message' => 'Application submitted successfully.']); + echo json_encode(['success' => true, 'id' => (int)$lpa_id, 'redirect' => 'dashboard.php', 'message' => 'Application submitted successfully.']); } else { echo json_encode(['success' => false, 'error' => 'Invalid step provided.']); } diff --git a/apply.php b/apply.php index f25b214..f3f3402 100644 --- a/apply.php +++ b/apply.php @@ -88,7 +88,7 @@ foreach ($notified_persons as $np) { Start Application — <?php echo htmlspecialchars($project_name); ?> - +