Inquiry, Potential, High Potential, Verba Add Constant- define('LEAD_STATUS_POTENTIAL', 486); define('LEAD_STATUS_HIGHPOTENTIAL', 487); define('LEAD_STATUS_VERBAL', 488); Add this into gofero->lead->add->add_holiday.php
Add code in gofero->partials->add_common_customer_details.php $(document).ready(function() { var requiredFieldBasedOnCondition = ['gf_customer_name', 'kp_country_code', 'gf_contact_number', 'gf_email_address', 'gf_nationality', 'gf_lead_source', 'gf_lead_status']; var requiredFields = []; var isLeadStatusSelected = false; $(document).on('change', '#gf_lead_status', function() { if (!isLeadStatusSelected) { captureRequiredFields(); isLeadStatusSelected = true; } const leadStatus = $(this).val(); const noResponseStatus = btoa('LEAD_STATUS_NO_RESPONSE'); const closedNoPlansStatus = btoa('LEAD_STATUS_CLOSED_NO_PLANS'); const InquiryLeadStatus = btoa('LEAD_STATUS_INQUIRY'); const PotentialLeadStatus = btoa('LEAD_STATUS_POTENTIAL'); const HighPotentialLeadStatus = btoa('LEAD_STATUS_HIGHPOTENTIAL'); const VerbalLeadStatus = btoa('LEAD_STATUS_VERBAL'); // alert(InquiryLeadStatus); if (leadStatus === noResponseStatus || leadStatus === closedNoPlansStatus) { removeAsteriskFromLabels(); applyAstriskAndRequired(); } else { applyAsteriskToLabels(); } if ( leadStatus === InquiryLeadStatus || leadStatus === PotentialLeadStatus || leadStatus === HighPotentialLeadStatus || leadStatus === VerbalLeadStatus ) { $('#no_of_pax_adult, #no_of_pax_child, #no_of_pax_infant').prop('required', true); $('.no-of-pax-required').show(); } else { $('#no_of_pax_adult, #no_of_pax_child, #no_of_pax_infant').prop('required', false); $('.no-of-pax-required').hide(); } }); in gofero.php copy paste fuctions updateLeadData() and saveLeadData() holiday_details.php
in details_service_common_footer_section.php $(document).on("change", "#gf_lead_status", function() { const leadStatus = $(this).val(); const noResponseStatus = btoa('LEAD_STATUS_NO_RESPONSE'); const closedNoPlansStatus = btoa('LEAD_STATUS_CLOSED_NO_PLANS'); const bookedStatus = btoa('TOUR_BOOKED_STATUS_CODE'); const InquiryLeadStatus = btoa('LEAD_STATUS_INQUIRY'); const PotentialLeadStatus = btoa('LEAD_STATUS_POTENTIAL'); const HighPotentialLeadStatus = btoa('LEAD_STATUS_HIGHPOTENTIAL'); const VerbalLeadStatus = btoa('LEAD_STATUS_VERBAL'); if (leadStatus === noResponseStatus || leadStatus === closedNoPlansStatus) { removeAsteriskFromLabels(); applyAstriskAndRequired(); } else { applyAsteriskToLabels(); } if ( leadStatus === InquiryLeadStatus || leadStatus === PotentialLeadStatus || leadStatus === HighPotentialLeadStatus || leadStatus === VerbalLeadStatus ) { $('#no_of_pax_adult, #no_of_pax_child, #no_of_pax_infant').prop('required', true); $('.no-of-pax-required').show(); } else { $('#no_of_pax_adult, #no_of_pax_child, #no_of_pax_infant').prop('required', false); $('.no-of-pax-required').hide(); } modify function handleroomsandadultRequire() function handleroomsandadultRequire() { const leadStatusField = document.getElementById('gf_lead_status'); const religionField = document.getElementById('gf_lead_religion'); const bookedStatus = btoa('TOUR_BOOKED_STATUS_CODE'); // On change, toggle required + collapse block leadStatusField.addEventListener('change', function () { if (this.value === bookedStatus) { religionField.setAttribute('required', 'required'); $('#collapsefacebook').collapse('show'); } else { religionField.removeAttribute('required'); $('#collapsefacebook').collapse('hide'); } }); // Form submission prevention logic $('#edit-retail-lead-form').on('submit', function (e) { const isBooked = leadStatusField.value === bookedStatus; const paxAdult = parseInt($('#no_of_pax_adult').val()) || 0; const paxChild = parseInt($('#no_of_pax_child').val()) || 0; const paxInfant = parseInt($('#no_of_pax_infant').val()) || 0; const adultCount = parseInt($('#gf_traveller_adult_count').val()) || 0; const childCount = (parseInt($('#gf_traveller_child_count').val()) || 0) + (parseInt($('#gf_traveller_child_count_cwn').val()) || 0); const infantCount = parseInt($('#gf_traveller_infant_count').val()) || 0; if (!isBooked) return; // Do nothing if not Booked let allValid = true; // Check adult counts // $('.gf_traveller_adult_count').each(function () { // const val = parseInt($(this).val()); // if (isNaN(val) || val <= 0) { // $(this).addClass('is-invalid'); // allValid = false; // } else { // $(this).removeClass('is-invalid'); // } // }); let totalAdultCount = 0; $('.gf_traveller_adult_count').each(function () { const val = parseInt($(this).val()); if (!isNaN(val) && val > 0) { totalAdultCount += val; $(this).removeClass('is-invalid'); } else { $(this).addClass('is-invalid'); } }); // Check room count const roomVal = parseInt($('#gf_rooms').val()); if (isNaN(roomVal) || roomVal <= 0) { $('#gf_rooms').addClass('is-invalid'); allValid = false; } else { $('#gf_rooms').removeClass('is-invalid'); } if (paxAdult !== adultCount) { $('#gf_traveller_adult_count').addClass('is-invalid'); alert('Adults are not matching'); allValid = false; } else { $('#gf_traveller_adult_count').removeClass('is-invalid'); } if (paxChild !== childCount) { $('#gf_traveller_child_count_cwn').addClass('is-invalid'); alert('Childs and child with no bed count are not matching'); allValid = false; } else { $('#gf_traveller_child_count_cwn').removeClass('is-invalid'); } if (paxInfant !== infantCount) { $('#gf_traveller_infant_count').addClass('is-invalid'); alert('Infants are not matching'); allValid = false; } else { $('#gf_traveller_infant_count').removeClass('is-invalid'); } // Prevent form if invalid if (!allValid) { alert('All adult counts and room count must be greater than 0 for booked status.'); e.preventDefault(); // Stop form submission } }); }