Bugfixes relating to early bird rate closing

This commit is contained in:
2014-03-01 00:37:39 +11:00
parent 8fb838d9eb
commit 97dc20354a
4 changed files with 17 additions and 23 deletions

View File

@@ -552,7 +552,7 @@ function _booking_amount_paid($nid, $person = NULL)
}
//calculate the amount outstanding for a person/married couple
function _booking_amount_owing($nid, $amount_paid = 0)
function _booking_amount_owing($nid, $amount_paid = 0, $include_paypal_fees = TRUE)
{
//$amount_paid = 0;
$total_due = 0;
@@ -579,23 +579,21 @@ function _booking_amount_owing($nid, $amount_paid = 0)
//finally we must be in the late-fee period
else
$total_due = $person->booking_late_price;
//watchdog('booking', "Total amount due for this registration " . $nid . " is " . $total_due);
//if we didn't get the amount paid as a command line parameter, check it now
if ($amount_paid == 0)
{
$amount_paid = _booking_amount_paid($nid, $person);
}
//check if there is anything outstanding
if ($amount_paid >= $total_due)
if ($amount_paid >= $person->booking_total_pay_reqd)
{
//watchdog('booking', "This person doesn't owe any money: @info", array('@info' => var_export($person, TRUE)));
return 0;
}
//if we're using paypal, add the transaction fee
if (variable_get('booking_use_paypal', 0) == 1)
if (variable_get('booking_use_paypal', 0) == 1 && $include_paypal_fees == TRUE)
{
//add the 30 cent fixed cost
$amount_owing = $total_due - $amount_paid + 0.3;

View File

@@ -84,7 +84,7 @@ function booking_form($node, &$form_state, $inserting = FALSE) {
else
{
$select_early = 0;
watchdog('booking', 'No longer accepting earlybird prices');
//watchdog('booking', 'No longer accepting earlybird prices');
}
$result = db_query("SELECT pid, booking_price_descrip, booking_price, booking_late_price FROM {booking_price} where booking_eventid = :eid " .
@@ -1054,7 +1054,7 @@ function booking_load($nodes) {
$query->condition('p.nid', array_keys($nodes), 'IN')
->fields('p')
->fields('t')
->fields('pr', array('booking_price', 'booking_price_descrip'));
->fields('pr', array('booking_price', 'booking_price_descrip','booking_late_price'));
//now add the study group fields
for ($i = 1; $i <= 7; $i++)
@@ -1072,7 +1072,7 @@ function booking_load($nodes) {
$query->condition('p.nid', array_keys($nodes), 'IN')
->fields('p')
->fields('t')
->fields('pr', array('booking_price', 'booking_price_descrip'));
->fields('pr', array('booking_price', 'booking_price_descrip','booking_late_price'));
}

View File

@@ -92,6 +92,9 @@ function booking_report_summary() {
$result = $table_sort->execute();
foreach ($result as $person) {
$amount_owing = _booking_amount_owing($person->nid);
$rows[] = array(
l(t('!id', array('!id' => $person->nid)), t('node/!id', array('!id' => $person->nid))),
//l(t('!id', array('!id' => $person->nid)), t('node/!id/edit', array('!id' => $person->nid))),
@@ -100,8 +103,8 @@ function booking_report_summary() {
),
t('!email', array('!email' => $person->booking_email)),
t('!payment', array('!payment' => $person->booking_amount_paid)),
t('!payment', array('!payment' => $person->booking_total_pay_reqd)),
_booking_amount_paid($person->nid, $person) >= $person->booking_total_pay_reqd ? 'Yes' : 'No',
t('!payment', array('!payment' => $person->booking_total_pay_reqd)),
t('!fullypaid', array('!fullypaid' => $amount_owing == 0 ? 'Yes' : 'No')),
t($person->booking_welfare_required == 'Y' ? 'Yes' : 'No'),
);
$total_paid += $person->booking_amount_paid;
@@ -120,18 +123,10 @@ function booking_report_summary() {
if ($person->booking_welfare_required == 'Y')
$welfare_count++;
//fully paid?
if ($person->booking_amount_paid >= $person->booking_total_pay_reqd || $person->booking_total_pay_reqd == "0.00")
{
//watchdog('booking', "Fully paid person, ID !id (!first !last)", array('!id' => $person->nid,'!first' => ucwords($person->booking_firstname), '!last' => ucwords($person->booking_lastname)));
//fully paid?
if ($amount_owing == 0)
$fullypaid_count++;
}
elseif ($person->booking_partner_id > 0 && _booking_amount_owing($person->nid) == 0)
{
//watchdog('booking', "Fully paid married person, ID !id (!first !last)", array('!id' => $person->nid,'!first' => ucwords($person->booking_firstname), '!last' => ucwords($person->booking_lastname)));
$fullypaid_count++;
}
//general stats
$dob_total += $person->booking_dob;
$person_count++;

View File

@@ -620,7 +620,8 @@ function booking_define_personspecific_tokens($node)
$tokens['lname'] = ucwords(trim($node->booking_lastname));
$tokens['dietary'] = ucwords(trim($node->booking_dietary));
$tokens['booking-id'] = $node->nid;
$tokens['payment-required'] = $node->booking_total_pay_reqd - $amount_paid;
//$tokens['payment-required'] = $node->booking_total_pay_reqd - $amount_paid;
$tokens['payment-required'] = _booking_amount_owing($node->nid, $amount_paid, FALSE);
$tokens['waitinglist-position'] = $result->num_ppl - variable_get('booking_regn_limit',350) + 1;
$tokens['payment-transaction-desc'] = $node->nid . ' ' . $node->booking_lastname;
$tokens['balance-payment-link'] = url('balance/' . $tempid, array('absolute' => TRUE));