fix: correct pricing calculations for non-members in bush_mechanics and rescue_recovery

This commit is contained in:
twotalesanimation
2025-12-05 11:46:24 +02:00
parent bad1532dcd
commit 646a3ecbc5
3 changed files with 33 additions and 17 deletions

View File

@@ -115,8 +115,7 @@ $page_id = 'driver_training';
</select> </select>
</li> </li>
'; ';
} ?> echo '
<li> <li>
Additional Non-Members <span class="price"></span> Additional Non-Members <span class="price"></span>
<select name="non-members" id="non-members"> <select name="non-members" id="non-members">
@@ -126,6 +125,23 @@ $page_id = 'driver_training';
<option value="3">03</option> <option value="3">03</option>
</select> </select>
</li> </li>
';
} else {
echo '
<li>
<small style="color: #666; display: block; margin-bottom: 5px;">You will be added at non-member rate</small>
Additional Participants <span class="price"></span>
<select name="non-members" id="non-members">
<option value="0" selected>00</option>
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
</select>
</li>
';
}
?>
</ul> </ul>
<hr class="mb-25"> <hr class="mb-25">
@@ -350,8 +366,8 @@ $page_id = 'driver_training';
// Function to calculate booking total // Function to calculate booking total
function calculateTotal() { function calculateTotal() {
// Get selected values from the form // Get selected values from the form
var members = parseInt($('#members').val()) || 0; // Default to 1 vehicle if not selected var additional_members = parseInt($('#members').val()) || 0;
var nonmembers = parseInt($('#non-members').val()) || 0; // Default to 1 adult if not selected var additional_nonmembers = parseInt($('#non-members').val()) || 0;
// Fetch PHP variables // Fetch PHP variables
var isMember = <?php echo $is_member ? 'true' : 'false'; ?>; var isMember = <?php echo $is_member ? 'true' : 'false'; ?>;
@@ -362,12 +378,12 @@ $page_id = 'driver_training';
// Calculate the total cost based on membership // Calculate the total cost based on membership
var total = 0; var total = 0;
// Calculate cost for members // Calculate cost for members: (you at member rate) + additional members + additional non-members
if (isMember || pendingMember) { if (isMember || pendingMember) {
total = (cost_members) + (members * cost_members) + (nonmembers * cost_nonmembers); total = (cost_members) + (additional_members * cost_members) + (additional_nonmembers * cost_nonmembers);
} else { } else {
// Calculate cost for non-members // Calculate cost for non-members: (you at non-member rate) + all additional people at non-member rate
total = (cost_nonmembers) + (members * cost_members) + (nonmembers * cost_nonmembers); total = (cost_nonmembers) + (additional_nonmembers * cost_nonmembers);
} }
// Update total price in the DOM // Update total price in the DOM

View File

@@ -346,8 +346,8 @@ $page_id = 'bush_mechanics';
// Function to calculate booking total // Function to calculate booking total
function calculateTotal() { function calculateTotal() {
// Get selected values from the form // Get selected values from the form
var members = parseInt($('#members').val()) || 0; // Default to 1 vehicle if not selected var additional_members = parseInt($('#members').val()) || 0; // Default to 0 if not selected
var nonmembers = parseInt($('#non-members').val()) || 0; // Default to 1 adult if not selected var additional_nonmembers = parseInt($('#non-members').val()) || 0; // Default to 0 if not selected
// Fetch PHP variables // Fetch PHP variables
var isMember = <?php echo $is_member ? 'true' : 'false'; ?>; var isMember = <?php echo $is_member ? 'true' : 'false'; ?>;
@@ -360,10 +360,10 @@ $page_id = 'bush_mechanics';
// Calculate cost for members // Calculate cost for members
if (isMember || pendingMember) { if (isMember || pendingMember) {
total = (cost_members) + (members * cost_members) + (nonmembers * cost_nonmembers); total = (cost_members) + (additional_members * cost_members) + (additional_nonmembers * cost_nonmembers);
} else { } else {
// Calculate cost for non-members // Calculate cost for non-members
total = (cost_nonmembers) + (members * cost_members) + (nonmembers * cost_nonmembers); total = (cost_nonmembers) + (additional_nonmembers * cost_nonmembers);
} }
// Update total price in the DOM // Update total price in the DOM

View File

@@ -278,8 +278,8 @@ $page_id = 'rescue_recovery';
// Function to calculate booking total // Function to calculate booking total
function calculateTotal() { function calculateTotal() {
// Get selected values from the form // Get selected values from the form
var members = parseInt($('#members').val()) || 0; // Default to 1 vehicle if not selected var additional_members = parseInt($('#members').val()) || 0; // Default to 0 if not selected
var nonmembers = parseInt($('#non-members').val()) || 0; // Default to 1 adult if not selected var additional_nonmembers = parseInt($('#non-members').val()) || 0; // Default to 0 if not selected
// Fetch PHP variables // Fetch PHP variables
var isMember = <?php echo $is_member ? 'true' : 'false'; ?>; var isMember = <?php echo $is_member ? 'true' : 'false'; ?>;
@@ -292,10 +292,10 @@ $page_id = 'rescue_recovery';
// Calculate cost for members // Calculate cost for members
if (isMember || pendingMember) { if (isMember || pendingMember) {
total = (cost_members) + (members * cost_members) + (nonmembers * cost_nonmembers); total = (cost_members) + (additional_members * cost_members) + (additional_nonmembers * cost_nonmembers);
} else { } else {
// Calculate cost for non-members // Calculate cost for non-members
total = (cost_nonmembers) + (members * cost_members) + (nonmembers * cost_nonmembers); total = (cost_nonmembers) + (additional_nonmembers * cost_nonmembers);
} }
// Update total price in the DOM // Update total price in the DOM