Tweaks to refunds, study groups, travel emails
This commit is contained in:
@@ -209,6 +209,14 @@ function booking_admin() {
|
|||||||
'#size' => 150,
|
'#size' => 150,
|
||||||
'#maxlength' => 2000,
|
'#maxlength' => 2000,
|
||||||
);
|
);
|
||||||
|
$form['misc']['booking_import_include_fields'] = array (
|
||||||
|
'#type' => 'textfield',
|
||||||
|
'#title' => t('Fields to import from an uploaded CSV file'),
|
||||||
|
'#default_value' => variable_get('booking_import_include_fields', ''),
|
||||||
|
'#description' => 'Separate each field with a semi-colon. Field names as per database schema, case sensitive. Nid and booking_status fields compulsory.',
|
||||||
|
'#size' => 150,
|
||||||
|
'#maxlength' => 2000,
|
||||||
|
);
|
||||||
return system_settings_form($form);
|
return system_settings_form($form);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -302,6 +310,7 @@ function booking_manual_email()
|
|||||||
|
|
||||||
foreach($result as $data)
|
foreach($result as $data)
|
||||||
{
|
{
|
||||||
|
$paid = _booking_amount_owing($data->nid);
|
||||||
$options[$data->nid] = array (
|
$options[$data->nid] = array (
|
||||||
'booking_nid' => l(t('!id', array('!id' => $data->nid)), t('node/!id', array('!id' => $data->nid))),
|
'booking_nid' => l(t('!id', array('!id' => $data->nid)), t('node/!id', array('!id' => $data->nid))),
|
||||||
'booking_name' => $data->booking_firstname . " " . $data->booking_lastname,
|
'booking_name' => $data->booking_firstname . " " . $data->booking_lastname,
|
||||||
@@ -310,15 +319,17 @@ function booking_manual_email()
|
|||||||
'booking_status' => _booking_status_generate($data->booking_status),
|
'booking_status' => _booking_status_generate($data->booking_status),
|
||||||
'amount_paid' => $data->booking_amount_paid,
|
'amount_paid' => $data->booking_amount_paid,
|
||||||
'amount_reqd' => $data->booking_total_pay_reqd,
|
'amount_reqd' => $data->booking_total_pay_reqd,
|
||||||
'booking_fully_paid' => _booking_amount_owing($data->nid) == 0 ? 'Yes' : 'No',
|
'booking_fully_paid' => $paid == 0 ? 'Yes' : 'No',
|
||||||
'welfare_required' => $data->booking_welfare_required == 'Y' ? 'Yes' : 'No',
|
'welfare_required' => $data->booking_welfare_required == 'Y' ? 'Yes' : 'No',
|
||||||
);
|
);
|
||||||
|
//$values[$data->nid] = ($paid == 0 || $data->booking_status != 1) ? FALSE : TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
$form['table'] = array (
|
$form['table'] = array (
|
||||||
'#type' => 'tableselect',
|
'#type' => 'tableselect',
|
||||||
'#header' => $header,
|
'#header' => $header,
|
||||||
'#options' => $options,
|
'#options' => $options,
|
||||||
|
//'#default_value' => $values,
|
||||||
'#empty' => t('No attendees found.'),
|
'#empty' => t('No attendees found.'),
|
||||||
'#attributes' => array('id' => 'sort-table'),
|
'#attributes' => array('id' => 'sort-table'),
|
||||||
);
|
);
|
||||||
|
@@ -329,7 +329,7 @@ function _booking_travelform_confirmation_email($nid)
|
|||||||
|
|
||||||
//calculate the from email address
|
//calculate the from email address
|
||||||
$from = t('!event Registrations <!email>', array('!event' => $event->booking_eventname,
|
$from = t('!event Registrations <!email>', array('!event' => $event->booking_eventname,
|
||||||
'!email' => variable_get('booking_contact_email', variable_get('site_mail', ini_get('sendmail_from')))
|
'!email' => variable_get('booking_logistics_email', variable_get('site_mail', ini_get('sendmail_from')))
|
||||||
));
|
));
|
||||||
|
|
||||||
//calculate the remaining parameters
|
//calculate the remaining parameters
|
||||||
|
@@ -354,6 +354,57 @@ function _date_range_to_string($date_start, $date_end) {
|
|||||||
return $final_string;
|
return $final_string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function for cleaning up study groups for people that have withdrawn their registration
|
||||||
|
* @param $nid - the node id for the person who has withdrawn their registration
|
||||||
|
* @return nothing
|
||||||
|
*/
|
||||||
|
function _booking_studygroups_cleanup($nid)
|
||||||
|
{
|
||||||
|
global $event;
|
||||||
|
|
||||||
|
|
||||||
|
//first of all make sure we need to do anything
|
||||||
|
if (variable_get('booking_enable_studygroups', 0) == 1)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
//look up the titles of the study groups
|
||||||
|
$studygroups_query = db_query("SELECT * FROM {booking_studygroup_list} WHERE booking_eventid = :eid",
|
||||||
|
array(':eid' => $event->eid));
|
||||||
|
$studygroups = $studygroups_query->fetchAllAssoc('sid');
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
//query for any groups this person is assigned to
|
||||||
|
$to_remove_query = db_query("SELECT m.* FROM {booking_studygroup_mapping} m WHERE booking_node_id = :nid",
|
||||||
|
array(':nid' => $nid));
|
||||||
|
$to_remove = $to_remove_query->fetchAll();
|
||||||
|
|
||||||
|
foreach ($to_remove as $group)
|
||||||
|
{
|
||||||
|
$role = "None";
|
||||||
|
if ($group->booking_is_leader == 'Y')
|
||||||
|
$role = "Lead group #" . $group->booking_studygroup_id;
|
||||||
|
elseif ($group->booking_is_helper == 'Y')
|
||||||
|
$role = "Help group #" . $group->booking_studygroup_id;
|
||||||
|
elseif ($group->booking_is_reserveleader == 'Y')
|
||||||
|
$role = "Reserve group #" . $group->booking_studygroup_id;
|
||||||
|
|
||||||
|
$message = t("Removing id !nid from group id !group with role !role.", array('!nid' => $nid, '!group' => $group->booking_studygroup_id, '!role' => $role));
|
||||||
|
watchdog('booking', $message);
|
||||||
|
drupal_set_message($message, 'status', FALSE);
|
||||||
|
|
||||||
|
db_delete('booking_studygroup_mapping')
|
||||||
|
->condition('booking_eventid', $event->eid)
|
||||||
|
->condition('booking_node_id', $nid)
|
||||||
|
->condition('booking_studygroup_id', $group->booking_studygroup_id)
|
||||||
|
->execute();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function for calculating statistics of attendees
|
* Function for calculating statistics of attendees
|
||||||
*/
|
*/
|
||||||
@@ -653,6 +704,7 @@ function _booking_amount_owing($nid, $amount_paid = 0, $include_paypal_fees = TR
|
|||||||
function _booking_process_refund($person)
|
function _booking_process_refund($person)
|
||||||
{
|
{
|
||||||
global $event;
|
global $event;
|
||||||
|
//$refund_due = 0;
|
||||||
|
|
||||||
//calculate amount to be refunded
|
//calculate amount to be refunded
|
||||||
$paid = _booking_amount_paid($person->nid, $person);
|
$paid = _booking_amount_paid($person->nid, $person);
|
||||||
@@ -673,13 +725,28 @@ function _booking_process_refund($person)
|
|||||||
watchdog('booking', "Processing refund due to !first !last. Calculated as $!refund",
|
watchdog('booking', "Processing refund due to !first !last. Calculated as $!refund",
|
||||||
array('!first' => $person->booking_firstname, '!last' => $person->booking_lastname, '!refund' => $refund));
|
array('!first' => $person->booking_firstname, '!last' => $person->booking_lastname, '!refund' => $refund));
|
||||||
|
|
||||||
//update booking_amount_paid
|
$refund_due = $person->booking_amount_paid - $refund;
|
||||||
db_update('booking_person')
|
if ($refund_due == 0)
|
||||||
->fields(array(
|
{
|
||||||
'booking_amount_paid' => $person->booking_amount_paid - $refund,
|
//mark the refund as processed since no action is required
|
||||||
))
|
db_update('booking_person')
|
||||||
->condition('nid', $person->nid)
|
->fields(array(
|
||||||
->execute();
|
'booking_refund_due' => 0,
|
||||||
|
'booking_refund_processed' => 'Y',
|
||||||
|
))
|
||||||
|
->condition('nid', $person->nid)
|
||||||
|
->execute();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//update booking_amount_paid
|
||||||
|
db_update('booking_person')
|
||||||
|
->fields(array(
|
||||||
|
'booking_refund_due' => $refund_due,
|
||||||
|
))
|
||||||
|
->condition('nid', $person->nid)
|
||||||
|
->execute();
|
||||||
|
}
|
||||||
|
|
||||||
//add manual payment entry for refund
|
//add manual payment entry for refund
|
||||||
$result = db_insert('booking_payment')
|
$result = db_insert('booking_payment')
|
||||||
|
@@ -11,7 +11,9 @@ function booking_import_data_admin()
|
|||||||
{
|
{
|
||||||
global $event;
|
global $event;
|
||||||
|
|
||||||
$prefix = "<p>Upload csv file containing data to import. Minimum fields present should be <strong>nid,booking_status,booking_total_pay_reqd,booking_amount_paid</strong> with column names matching that exactly (case sensitive).</p>";
|
$prefix = t("<p>Upload csv file containing data to import. Minimum fields present should be <strong>nid</strong>, " .
|
||||||
|
" along with user-specified fields of <strong>!config</strong>. CSV Column names should match exactly (case sensitive).</p>",
|
||||||
|
array('!config' => variable_get('booking_import_include_fields', '')));
|
||||||
|
|
||||||
$form = array();
|
$form = array();
|
||||||
|
|
||||||
@@ -59,12 +61,16 @@ function booking_import_data_admin_submit($form, &$form_state)
|
|||||||
{
|
{
|
||||||
global $event;
|
global $event;
|
||||||
$array = array();
|
$array = array();
|
||||||
$expected_fields = array('nid', 'booking_amount_paid', 'booking_total_pay_reqd', 'booking_status');
|
//$expected_fields = array('nid', 'booking_amount_paid', 'booking_total_pay_reqd', 'booking_status');
|
||||||
$error = false;
|
$error = false;
|
||||||
$update_counter = 0;
|
$update_counter = 0;
|
||||||
$delimiter = ",";
|
$delimiter = ",";
|
||||||
$result_array = array();
|
$result_array = array();
|
||||||
|
|
||||||
|
$builtin_fields_to_import = array('nid', 'booking_status');
|
||||||
|
$custom_fields_to_import = explode(";", variable_get('booking_import_include_fields', ''));
|
||||||
|
$fields_to_import = array_merge($builtin_fields_to_import, $custom_fields_to_import);
|
||||||
|
|
||||||
//get the file name from temporary storage field
|
//get the file name from temporary storage field
|
||||||
$file = $form_state['storage']['file'];
|
$file = $form_state['storage']['file'];
|
||||||
// We are done with the file, remove it from storage.
|
// We are done with the file, remove it from storage.
|
||||||
@@ -82,7 +88,7 @@ function booking_import_data_admin_submit($form, &$form_state)
|
|||||||
$headerRecord = $rowData;
|
$headerRecord = $rowData;
|
||||||
} else {
|
} else {
|
||||||
foreach( $rowData as $key => $value) {
|
foreach( $rowData as $key => $value) {
|
||||||
$array[ $rowCounter - 1][ $headerRecord[ $key] ] = $value;
|
$array[$rowCounter - 1][ $headerRecord[$key] ] = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$rowCounter++;
|
$rowCounter++;
|
||||||
@@ -95,14 +101,18 @@ function booking_import_data_admin_submit($form, &$form_state)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//watchdog('booking', "<pre>Import data:\n@info</pre>", array('@info' => print_r( $array, true)));
|
||||||
|
|
||||||
//process the input data
|
//process the input data
|
||||||
foreach ($array as $record)
|
foreach ($array as $record)
|
||||||
{
|
{
|
||||||
//watchdog('booking', 'Processing user record: @info', array ('@info' => $record['nid']));
|
//watchdog('booking', "<pre>Processing row data:\n@info</pre>", array('@info' => print_r( $record, true)));
|
||||||
$update_counter++;
|
$update_counter++;
|
||||||
|
$update_text = "";
|
||||||
|
$update_array = array();
|
||||||
|
|
||||||
//do some error checking
|
//do some error checking
|
||||||
foreach($expected_fields as $field)
|
foreach($fields_to_import as $field)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
if (! isset($record[$field]))
|
if (! isset($record[$field]))
|
||||||
@@ -111,16 +121,43 @@ function booking_import_data_admin_submit($form, &$form_state)
|
|||||||
watchdog('booking', 'Blank field !field: !info', array ('!field' => $field, '!info' => var_export($record, TRUE)));
|
watchdog('booking', 'Blank field !field: !info', array ('!field' => $field, '!info' => var_export($record, TRUE)));
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( (! isset($record[$field])) || $record[$field] == '' )
|
//make sure to skip the nid field since we can't update that
|
||||||
|
if ($field == 'nid')
|
||||||
{
|
{
|
||||||
drupal_set_message("Error: Unable to locate expected field '$field' in input file for record number $update_counter.", 'error', FALSE);
|
//do nothing
|
||||||
|
}
|
||||||
|
//convert the booking status to the number used internally
|
||||||
|
elseif ($field == 'booking_status')
|
||||||
|
{
|
||||||
|
$update_array[$field] = _booking_status_lookup($record[$field]);
|
||||||
|
}
|
||||||
|
elseif ( (! isset($record[$field])) || $record[$field] == '' )
|
||||||
|
{
|
||||||
|
//drupal_set_message("Error: Unable to locate expected field '$field' in input file for record number $update_counter.", 'error', FALSE);
|
||||||
//watchdog('booking', 'Processing user record: @info', array ('@info' => $record['nid']));
|
//watchdog('booking', 'Processing user record: @info', array ('@info' => $record['nid']));
|
||||||
//$error = true;
|
//$error = true;
|
||||||
//skip to the next record
|
//skip to the next record
|
||||||
continue 2;
|
//continue 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$update_text .= " set '" . $field . "' to '" . $record[$field] . "'; ";
|
||||||
|
$update_array[$field] = $record[$field];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
drupal_set_message(t("Updating record !nid as follows: !update", array('!nid' => $record['nid'], '!update' => $update_text)));
|
||||||
|
|
||||||
|
$query = db_update('booking_person')
|
||||||
|
->fields($update_array)
|
||||||
|
->condition('nid', $record['nid']);
|
||||||
|
$rows = $query->execute();
|
||||||
|
|
||||||
|
//$args = $query->getArguments();
|
||||||
|
|
||||||
|
watchdog('booking', "Update Query:<br />@info<br />Rows affected<br />@rows", array('@info' => (string) $query, '@rows' => $rows));
|
||||||
|
|
||||||
|
/*
|
||||||
$result_array[] = t('Setting payment for id !nid to $!price of total required $!total and status to !status',
|
$result_array[] = t('Setting payment for id !nid to $!price of total required $!total and status to !status',
|
||||||
array('!nid' => $record['nid'],
|
array('!nid' => $record['nid'],
|
||||||
'!price' => $record['booking_amount_paid'],
|
'!price' => $record['booking_amount_paid'],
|
||||||
@@ -128,6 +165,8 @@ function booking_import_data_admin_submit($form, &$form_state)
|
|||||||
'!status' => _booking_status_lookup($record['booking_status'])
|
'!status' => _booking_status_lookup($record['booking_status'])
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
*/
|
||||||
|
/*
|
||||||
//TODO: output this from $result_array
|
//TODO: output this from $result_array
|
||||||
drupal_set_message(t('Setting payment for id !nid to $!price of total required $!total and status to !status',
|
drupal_set_message(t('Setting payment for id !nid to $!price of total required $!total and status to !status',
|
||||||
array('!nid' => $record['nid'],
|
array('!nid' => $record['nid'],
|
||||||
@@ -135,10 +174,12 @@ function booking_import_data_admin_submit($form, &$form_state)
|
|||||||
'!total' => $record['booking_total_pay_reqd'],
|
'!total' => $record['booking_total_pay_reqd'],
|
||||||
'!status' => _booking_status_lookup($record['booking_status']))
|
'!status' => _booking_status_lookup($record['booking_status']))
|
||||||
));
|
));
|
||||||
|
*/
|
||||||
|
|
||||||
// watchdog('booking', 'Setting payment for regn id !nid to $!price and status to !status',
|
// watchdog('booking', 'Setting payment for regn id !nid to $!price and status to !status',
|
||||||
// array('!nid' => $record['nid'], '!price' => $record['booking_amount_paid'], '!status' => _booking_status_lookup($record['booking_status'])));
|
// array('!nid' => $record['nid'], '!price' => $record['booking_amount_paid'], '!status' => _booking_status_lookup($record['booking_status'])));
|
||||||
|
|
||||||
|
/*
|
||||||
db_update('booking_person')
|
db_update('booking_person')
|
||||||
->fields(array(
|
->fields(array(
|
||||||
'booking_amount_paid' => $record['booking_amount_paid'],
|
'booking_amount_paid' => $record['booking_amount_paid'],
|
||||||
@@ -147,11 +188,12 @@ function booking_import_data_admin_submit($form, &$form_state)
|
|||||||
))
|
))
|
||||||
->condition('nid', $record['nid'])
|
->condition('nid', $record['nid'])
|
||||||
->execute();
|
->execute();
|
||||||
|
*/
|
||||||
|
|
||||||
} //end processing input data
|
} //end processing input data
|
||||||
|
|
||||||
//output our results to watchdog
|
//output our results to watchdog
|
||||||
watchdog('booking', '<pre>@print_r</pre>', array('@print_r', print_r( $result_array, TRUE)));
|
//watchdog('booking', '<pre>@print_r</pre>', array('@print_r', print_r( $result_array, TRUE)));
|
||||||
|
|
||||||
//delete the uploaded file
|
//delete the uploaded file
|
||||||
file_delete($file);
|
file_delete($file);
|
||||||
|
@@ -281,6 +281,25 @@ function booking_update_7211() {
|
|||||||
db_add_field( 'booking_person', 'booking_bf_gf_nid', $spec);
|
db_add_field( 'booking_person', 'booking_bf_gf_nid', $spec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add refund fields to booking registration table
|
||||||
|
*/
|
||||||
|
function booking_update_7212() {
|
||||||
|
$spec = array('type' => 'numeric', 'not null' => FALSE, 'default' => 0, 'precision' => '7', 'scale' => '2');
|
||||||
|
db_add_field( 'booking_person', 'booking_amount_refunded', $spec);
|
||||||
|
|
||||||
|
$spec2 = array('type' => 'varchar', 'length' => '1', 'not null' => FALSE, 'default' => 'N');
|
||||||
|
db_add_field( 'booking_person', 'booking_refund_processed', $spec2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rename refund field
|
||||||
|
*/
|
||||||
|
function booking_update_7213() {
|
||||||
|
$spec = array('type' => 'numeric', 'not null' => FALSE, 'default' => 0, 'precision' => '7', 'scale' => '2');
|
||||||
|
db_change_field('booking_person', 'booking_amount_refunded', 'booking_refund_due', $spec);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of hook_install().
|
* Implementation of hook_install().
|
||||||
*/
|
*/
|
||||||
@@ -317,39 +336,6 @@ $result = db_insert('booking_price')
|
|||||||
))
|
))
|
||||||
->execute();
|
->execute();
|
||||||
|
|
||||||
$result = db_insert('booking_price')
|
|
||||||
->fields(array(
|
|
||||||
'booking_eventid' => 1,
|
|
||||||
'booking_price' => '300.00',
|
|
||||||
'booking_price_descrip' => 'Worker',
|
|
||||||
'booking_buttonid' => 'R7PR6FASQMHSS',
|
|
||||||
'booking_price_active' => 1,
|
|
||||||
'booking_depositonly' => 0,
|
|
||||||
))
|
|
||||||
->execute();
|
|
||||||
|
|
||||||
$result = db_insert('booking_price')
|
|
||||||
->fields(array(
|
|
||||||
'booking_eventid' => 1,
|
|
||||||
'booking_price' => '260.00',
|
|
||||||
'booking_price_descrip' => 'Non-Worker',
|
|
||||||
'booking_buttonid' => 'R2CF3G96WX4XA',
|
|
||||||
'booking_price_active' => 1,
|
|
||||||
'booking_depositonly' => 0,
|
|
||||||
))
|
|
||||||
->execute();
|
|
||||||
|
|
||||||
$result = db_insert('booking_price')
|
|
||||||
->fields(array(
|
|
||||||
'booking_eventid' => 1,
|
|
||||||
'booking_price' => '540.00',
|
|
||||||
'booking_price_descrip' => 'Married Couple',
|
|
||||||
'booking_buttonid' => 'QST6YCMZFYEN4',
|
|
||||||
'booking_price_active' => 1,
|
|
||||||
'booking_depositonly' => 0,
|
|
||||||
))
|
|
||||||
->execute();
|
|
||||||
|
|
||||||
$result = db_insert('booking_event')
|
$result = db_insert('booking_event')
|
||||||
->fields(array(
|
->fields(array(
|
||||||
'booking_eventname' => 'Study Weekend 2012',
|
'booking_eventname' => 'Study Weekend 2012',
|
||||||
|
@@ -161,7 +161,6 @@ function booking_form($node, &$form_state, $inserting = FALSE) {
|
|||||||
'#description' => t('Select to mark this attendee as requiring special financial consideration'),
|
'#description' => t('Select to mark this attendee as requiring special financial consideration'),
|
||||||
'#default_value' => (!empty($data->booking_welfare_required) && $data->booking_welfare_required == 'Y') ? 1 : 0
|
'#default_value' => (!empty($data->booking_welfare_required) && $data->booking_welfare_required == 'Y') ? 1 : 0
|
||||||
);
|
);
|
||||||
|
|
||||||
} //end inserting check for booking status
|
} //end inserting check for booking status
|
||||||
|
|
||||||
//tshirts
|
//tshirts
|
||||||
@@ -314,6 +313,20 @@ function booking_form($node, &$form_state, $inserting = FALSE) {
|
|||||||
'#required' => FALSE,
|
'#required' => FALSE,
|
||||||
'#default_value' => !empty($data->booking_total_pay_reqd) ? $data->booking_total_pay_reqd : '0.00'
|
'#default_value' => !empty($data->booking_total_pay_reqd) ? $data->booking_total_pay_reqd : '0.00'
|
||||||
);
|
);
|
||||||
|
//refund info
|
||||||
|
$form['your-details']['booking_refund_processed'] = array(
|
||||||
|
'#type' => 'checkbox',
|
||||||
|
'#title' => t('Refund Processed?'),
|
||||||
|
'#description' => t('Select to mark the processing of any applicable refund as complete'),
|
||||||
|
'#default_value' => (!empty($data->booking_refund_processed) && $data->booking_refund_processed == 'Y') ? 1 : 0
|
||||||
|
);
|
||||||
|
$form['your-details']['booking_refund_due'] = array(
|
||||||
|
'#type' => 'textfield',
|
||||||
|
'#title' => t('Refund Amount Due'),
|
||||||
|
'#maxlength' => 10,
|
||||||
|
'#required' => FALSE,
|
||||||
|
'#default_value' => !empty($data->booking_refund_due) ? $data->booking_refund_due : '0.00'
|
||||||
|
);
|
||||||
|
|
||||||
$form['your-details']['booking_barcode'] = array(
|
$form['your-details']['booking_barcode'] = array(
|
||||||
'#type' => 'textfield',
|
'#type' => 'textfield',
|
||||||
@@ -943,6 +956,8 @@ function booking_form_submit($form, &$form_state) {
|
|||||||
|
|
||||||
//fields that may or may not have been present in the initial form
|
//fields that may or may not have been present in the initial form
|
||||||
$node->booking_welfare_required = empty($values['booking_welfare_required']) ? 'N' : ($values['booking_welfare_required'] == 1 ? 'Y' : 'N');
|
$node->booking_welfare_required = empty($values['booking_welfare_required']) ? 'N' : ($values['booking_welfare_required'] == 1 ? 'Y' : 'N');
|
||||||
|
$node->booking_refund_processed = empty($values['booking_refund_processed']) ? 'N' : ($values['booking_refund_processed'] == 1 ? 'Y' : 'N');
|
||||||
|
$node->booking_refund_due = empty($values['booking_refund_due']) ? '' : $values['booking_refund_due'];
|
||||||
$node->booking_help_music = empty($values['booking_help_music']) ? '' : $values['booking_help_music'];
|
$node->booking_help_music = empty($values['booking_help_music']) ? '' : $values['booking_help_music'];
|
||||||
$node->booking_help_meditations = empty($values['booking_help_meditations']) ? '' : $values['booking_help_meditations'];
|
$node->booking_help_meditations = empty($values['booking_help_meditations']) ? '' : $values['booking_help_meditations'];
|
||||||
$node->booking_help_praying = empty($values['booking_help_praying']) ? '' : $values['booking_help_praying'];
|
$node->booking_help_praying = empty($values['booking_help_praying']) ? '' : $values['booking_help_praying'];
|
||||||
@@ -1201,6 +1216,8 @@ function _booking_insert($node) {
|
|||||||
'booking_skills_other_details' => $node->booking_skills_other_details,
|
'booking_skills_other_details' => $node->booking_skills_other_details,
|
||||||
'booking_status' => $node->booking_status,
|
'booking_status' => $node->booking_status,
|
||||||
'booking_welfare_required' => $node->booking_welfare_required,
|
'booking_welfare_required' => $node->booking_welfare_required,
|
||||||
|
'booking_refund_due' => $node->booking_refund_due,
|
||||||
|
'booking_refund_processed' => $node->booking_refund_processed,
|
||||||
))
|
))
|
||||||
->execute();
|
->execute();
|
||||||
}
|
}
|
||||||
@@ -1260,6 +1277,7 @@ function _booking_update($node) {
|
|||||||
'booking_payment_id' => $node->booking_payment_id,
|
'booking_payment_id' => $node->booking_payment_id,
|
||||||
'booking_total_pay_reqd' => $node->booking_total_pay_reqd,
|
'booking_total_pay_reqd' => $node->booking_total_pay_reqd,
|
||||||
'booking_amount_paid' => $node->booking_amount_paid,
|
'booking_amount_paid' => $node->booking_amount_paid,
|
||||||
|
'booking_refund_due' => $node->booking_refund_due,
|
||||||
'booking_guardian_name' => $node->booking_guardian_name,
|
'booking_guardian_name' => $node->booking_guardian_name,
|
||||||
'booking_guardian_type' => $node->booking_guardian_type,
|
'booking_guardian_type' => $node->booking_guardian_type,
|
||||||
'booking_guardian_phone' => $node->booking_guardian_phone,
|
'booking_guardian_phone' => $node->booking_guardian_phone,
|
||||||
@@ -1281,13 +1299,14 @@ function _booking_update($node) {
|
|||||||
'booking_skills_other' => ($node->booking_skills_other == 1 ? 'Y' : 'N'),
|
'booking_skills_other' => ($node->booking_skills_other == 1 ? 'Y' : 'N'),
|
||||||
'booking_skills_other_details' => $node->booking_skills_other_details,
|
'booking_skills_other_details' => $node->booking_skills_other_details,
|
||||||
'booking_welfare_required' => ($node->booking_welfare_required == 1 ? 'Y' : 'N'),
|
'booking_welfare_required' => ($node->booking_welfare_required == 1 ? 'Y' : 'N'),
|
||||||
|
'booking_refund_processed' => ($node->booking_refund_processed == 1 ? 'Y' : 'N'),
|
||||||
'booking_status' => $node->booking_status,
|
'booking_status' => $node->booking_status,
|
||||||
|
|
||||||
))
|
))
|
||||||
->condition('nid', $node->nid)
|
->condition('nid', $node->nid)
|
||||||
->execute();
|
->execute();
|
||||||
|
|
||||||
//now process some post-update triggers
|
//***now process some post-update triggers***
|
||||||
|
|
||||||
//if booking_partner_id is set, make sure the nid it refers to has this node as its booking_partner_id
|
//if booking_partner_id is set, make sure the nid it refers to has this node as its booking_partner_id
|
||||||
if ($node->booking_partner_id != 0)
|
if ($node->booking_partner_id != 0)
|
||||||
@@ -1322,6 +1341,9 @@ function _booking_update($node) {
|
|||||||
drupal_set_message(t('Refund calculated for !first !last is $!refund.',
|
drupal_set_message(t('Refund calculated for !first !last is $!refund.',
|
||||||
array('!first' => $node->booking_firstname, '!last' => $node->booking_lastname, '!refund' => $refund)));
|
array('!first' => $node->booking_firstname, '!last' => $node->booking_lastname, '!refund' => $refund)));
|
||||||
|
|
||||||
|
//Remove from any study groups
|
||||||
|
_booking_studygroups_cleanup($node->nid);
|
||||||
|
|
||||||
//check if there is room on the booked-in list
|
//check if there is room on the booked-in list
|
||||||
if (_booking_check_bookings_full() == False)
|
if (_booking_check_bookings_full() == False)
|
||||||
{
|
{
|
||||||
@@ -1352,6 +1374,9 @@ function _booking_update($node) {
|
|||||||
$refund = _booking_process_refund($node);
|
$refund = _booking_process_refund($node);
|
||||||
drupal_set_message(t('Refund calculated for !first !last is $!refund.',
|
drupal_set_message(t('Refund calculated for !first !last is $!refund.',
|
||||||
array('!first' => $node->booking_firstname, '!last' => $node->booking_lastname, '!refund' => $refund)));
|
array('!first' => $node->booking_firstname, '!last' => $node->booking_lastname, '!refund' => $refund)));
|
||||||
|
|
||||||
|
//Remove from any study groups
|
||||||
|
_booking_studygroups_cleanup($node->nid);
|
||||||
}
|
}
|
||||||
//if we're not automatically sending emails on registration
|
//if we're not automatically sending emails on registration
|
||||||
//and someone moved from not-paid to booked-in (ie, manual payment process)
|
//and someone moved from not-paid to booked-in (ie, manual payment process)
|
||||||
@@ -1512,6 +1537,9 @@ function booking_view($node, $view_mode) {
|
|||||||
$rows[] = array(t('Payment Type Selected:'), t('!amount_paid', array('!amount_paid' => $payment_type)));
|
$rows[] = array(t('Payment Type Selected:'), t('!amount_paid', array('!amount_paid' => $payment_type)));
|
||||||
$rows[] = array(t('Amount Paid:'), t('!amount_paid', array('!amount_paid' => $node->booking_amount_paid)));
|
$rows[] = array(t('Amount Paid:'), t('!amount_paid', array('!amount_paid' => $node->booking_amount_paid)));
|
||||||
$rows[] = array(t('Total Amount Due:'), t('!amount_paid', array('!amount_paid' => $node->booking_total_pay_reqd)));
|
$rows[] = array(t('Total Amount Due:'), t('!amount_paid', array('!amount_paid' => $node->booking_total_pay_reqd)));
|
||||||
|
$rows[] = array(t('Refund Due:'), t('!amount_due', array('!amount_due' => $node->booking_refund_due)));
|
||||||
|
$rows[] = array(t('Refund Processed:'), t('!ans', array('!ans' => ($node->booking_refund_processed == 'Y' ? 'Yes' : 'No'))));
|
||||||
|
|
||||||
$rows[] = array(t('Reading Group:'), t('!group', array('!group' => $node->booking_readinggroup)));
|
$rows[] = array(t('Reading Group:'), t('!group', array('!group' => $node->booking_readinggroup)));
|
||||||
|
|
||||||
if (variable_get('booking_enable_tshirts', 0) == 1)
|
if (variable_get('booking_enable_tshirts', 0) == 1)
|
||||||
|
@@ -682,6 +682,13 @@ function booking_studygroups_calculate() {
|
|||||||
$group_mapping = $group_mapping_query->fetchAllAssoc('sid');
|
$group_mapping = $group_mapping_query->fetchAllAssoc('sid');
|
||||||
|
|
||||||
//TODO: search for entries already in the mapping table that have a booking_status of 3 (not coming) and remove them from the mapping table
|
//TODO: search for entries already in the mapping table that have a booking_status of 3 (not coming) and remove them from the mapping table
|
||||||
|
$to_remove_query = db_query("SELECT m.* FROM {booking_studygroup_mapping} m
|
||||||
|
inner join {booking_person} p on p.nid = m.booking_node_id
|
||||||
|
WHERE booking_eventid = :eid AND p.booking_status = 3",
|
||||||
|
array(':eid' => $event->eid));
|
||||||
|
$to_remove = $to_remove_query->fetchAll();
|
||||||
|
|
||||||
|
watchdog('booking', "<pre>Study group mappings to remove:\n@info</pre>", array('@info' => print_r( $to_remove, true)));
|
||||||
|
|
||||||
//iterate over the attendee associative array and add some fields
|
//iterate over the attendee associative array and add some fields
|
||||||
foreach ($attendees as $person)
|
foreach ($attendees as $person)
|
||||||
@@ -889,9 +896,9 @@ function booking_studygroups_calculate() {
|
|||||||
|
|
||||||
foreach($working_list as $person)
|
foreach($working_list as $person)
|
||||||
{
|
{
|
||||||
watchdog('booking', "<pre>Working list person:\n@info</pre>", array('@info' => print_r( $person, true)));
|
//watchdog('booking', "<pre>Working list person:\n@info</pre>", array('@info' => print_r( $person, true)));
|
||||||
|
|
||||||
//TODO: a check to update existing records rather than inserting new one
|
//check to update existing records rather than inserting new one
|
||||||
// if already in $group_mapping then just run an update query here
|
// if already in $group_mapping then just run an update query here
|
||||||
|
|
||||||
$found = FALSE;
|
$found = FALSE;
|
||||||
@@ -941,7 +948,7 @@ function booking_studygroups_calculate() {
|
|||||||
}
|
}
|
||||||
$insert_query->execute();
|
$insert_query->execute();
|
||||||
|
|
||||||
watchdog('booking', "<pre>Session statistics list:\n@info</pre>", array('@info' => print_r( $session_count, true)));
|
//watchdog('booking', "<pre>Session statistics list:\n@info</pre>", array('@info' => print_r( $session_count, true)));
|
||||||
|
|
||||||
//clear the arrays we've been using for this iteration
|
//clear the arrays we've been using for this iteration
|
||||||
unset($session_count);
|
unset($session_count);
|
||||||
@@ -1029,6 +1036,7 @@ function booking_studygroups_printview_form($node, &$form_state, $group_id) {
|
|||||||
'booking_session_id' => array('data' => t('Study Group Session'), 'field' => 'm.booking_session_id'),
|
'booking_session_id' => array('data' => t('Study Group Session'), 'field' => 'm.booking_session_id'),
|
||||||
'booking_name' => array('data' => t('Name'), 'field' => 'p.booking_lastname', 'sort' => 'asc'),
|
'booking_name' => array('data' => t('Name'), 'field' => 'p.booking_lastname', 'sort' => 'asc'),
|
||||||
'booking_mobilenum' => array('data' => t('Mobile Number'), 'field' => 'p.booking_mobile'),
|
'booking_mobilenum' => array('data' => t('Mobile Number'), 'field' => 'p.booking_mobile'),
|
||||||
|
'booking_email' => array('data' => t('Email'), 'field' => 'p.booking_email'),
|
||||||
'booking_studygroup_role' => array('data' => t('Role')),
|
'booking_studygroup_role' => array('data' => t('Role')),
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1075,6 +1083,7 @@ function booking_studygroups_printview_form($node, &$form_state, $group_id) {
|
|||||||
$data->booking_session_id,
|
$data->booking_session_id,
|
||||||
$data->booking_firstname . " " . $data->booking_lastname,
|
$data->booking_firstname . " " . $data->booking_lastname,
|
||||||
$data->booking_mobile,
|
$data->booking_mobile,
|
||||||
|
$data->booking_email,
|
||||||
$role,
|
$role,
|
||||||
),
|
),
|
||||||
'class' => array($class),
|
'class' => array($class),
|
||||||
|
Reference in New Issue
Block a user