Add flight detail fields

This commit is contained in:
2014-07-26 19:57:18 +10:00
parent 5bda75ff47
commit 215a261ce2
5 changed files with 77 additions and 15 deletions

View File

@@ -108,7 +108,7 @@ function _booking_room_location_lookup($input = NULL)
$location[] = t('Bezer');
$location[] = t('Hebron');
$location[] = t('Shechem');
$location[] = t('Kedesh');
$location[] = t('Kadesh');
$location[] = t('Elpis Israel House Rooms 17-33');
$location[] = t('Elpis Israel House Rooms 34-51');

View File

@@ -412,6 +412,23 @@ function booking_update_7221() {
db_add_field('booking_person', 'booking_destination_country', $spec);
}
/**
* Add field for travel insurance info when collecting passport information
*/
function booking_update_7222() {
$spec = array('type' => 'varchar', 'length' => '500', 'not null' => FALSE);
db_add_field('booking_person', 'booking_travel_insurance', $spec);
}
/**
* Add fields for flight details when collecting passport information
*/
function booking_update_7223() {
$spec = array('type' => 'varchar', 'length' => '500', 'not null' => FALSE);
db_add_field('booking_person', 'booking_internal_flight_outbound', $spec);
db_add_field('booking_person', 'booking_internal_flight_inbound', $spec);
}
/**
* Implementation of hook_install().
*/
@@ -442,7 +459,7 @@ $result = db_insert('booking_price')
'booking_eventid' => 1,
'booking_price' => '50.00',
'booking_price_descrip' => 'Deposit',
'booking_buttonid' => '9LMSELBEEL5W2',
'booking_buttonid' => '',
'booking_price_active' => 1,
'booking_depositonly' => 1,
))

View File

@@ -398,6 +398,13 @@ function booking_form($node, &$form_state, $inserting = FALSE) {
//'#date_label_position' => 'within',
'#date_year_range' => '+0:+13'
);
$form['passport-details']['booking_travel_insurance'] = array(
'#type' => 'textfield',
'#title' => t('Travel insurance policy details'),
'#maxlength' => 120,
'#required' => FALSE,
'#default_value' => !empty($data->booking_travel_insurance) ? $data->booking_travel_insurance : ''
);
if ($inserting == FALSE)
{
$form['passport-details']['booking_destination_country'] = array(
@@ -407,6 +414,20 @@ function booking_form($node, &$form_state, $inserting = FALSE) {
'#required' => FALSE,
'#default_value' => !empty($data->booking_destination_country) ? $data->booking_destination_country : '',
);
$form['passport-details']['booking_internal_flight_outbound'] = array(
'#type' => 'textfield',
'#title' => t('Internal flight details leaving conference'),
'#maxlength' => 120,
'#required' => FALSE,
'#default_value' => !empty($data->booking_internal_flight_outbound) ? $data->booking_internal_flight_outbound : '',
);
$form['passport-details']['booking_internal_flight_inbound'] = array(
'#type' => 'textfield',
'#title' => t('Internal flight details returning to conference'),
'#maxlength' => 120,
'#required' => FALSE,
'#default_value' => !empty($data->booking_internal_flight_inbound) ? $data->booking_internal_flight_inbound : '',
);
}
}
@@ -949,6 +970,7 @@ function booking_form_submit($form, &$form_state) {
$node->booking_passport_issue_name = empty($values['booking_passport_issue_name']) ? '' : $values['booking_passport_issue_name'];
$node->booking_passport_expiry_date = empty($values['booking_passport_expiry_date']) ? '0' : _datearray_to_ts($values['booking_passport_expiry_date']);
$node->booking_destination_country = empty($values['booking_destination_country']) ? '' : $values['booking_destination_country'];
$node->booking_travel_insurance = empty($values['booking_travel_insurance']) ? '' : $values['booking_travel_insurance'];
//payment details
$node->booking_payment_id = $values['booking_payment_id'];
@@ -1081,14 +1103,20 @@ function booking_load_query($node_ids = NULL, $fetchAssoc = FALSE)
global $event;
$studygroup_count = variable_get('booking_studygroup_count','0');
//TODO: only add room info if the feature is enabled
$query = db_select('booking_person', 'p');
//add price info
$query->join('booking_price', 'pr', 'p.booking_payment_id = pr.pid');
//add travel form info if it exists
$query->leftJoin('booking_travel', 't', 'p.nid = t.booking_person_nid');
//add room info
$query->leftJoin('booking_room_mapping', 'rm', 'p.nid = rm.booking_nodeid');
$query->leftJoin('booking_room_definition', 'r', 'rm.booking_roomid = r.rid');
//add the joins for room allocation info if enabled
if (variable_get('booking_enable_roomallocations', 0) == 1)
{
$query->leftJoin('booking_room_mapping', 'rm', 'p.nid = rm.booking_nodeid');
$query->leftJoin('booking_room_definition', 'r', 'rm.booking_roomid = r.rid');
}
//add the joins to flatten out study groups into columns
if (variable_get('booking_enable_studygroups', 0) == 1)
@@ -1113,9 +1141,13 @@ function booking_load_query($node_ids = NULL, $fetchAssoc = FALSE)
//add the database fields we always want to retrieve
$query->fields('p')
->fields('t')
->fields('pr', array('booking_price', 'booking_price_descrip','booking_late_price'))
->fields('rm', array('booking_room_bedtype'))
->fields('r', array('rid', 'booking_room_location_id', 'booking_room_number'));
->fields('pr', array('booking_price', 'booking_price_descrip','booking_late_price'));
if (variable_get('booking_enable_roomallocations', 0) == 1)
{
$query->fields('rm', array('booking_room_bedtype'))
->fields('r', array('rid', 'booking_room_location_id', 'booking_room_number'));
}
//now add the study group fields if applicable
if (variable_get('booking_enable_studygroups', 0) == 1)
@@ -1185,6 +1217,9 @@ function _booking_insert($node) {
'booking_passport_issue_name' => $node->booking_passport_issue_name,
'booking_passport_expiry_date' => $node->booking_passport_expiry_date,
'booking_destination_country' => $node->booking_destination_country,
'booking_travel_insurance' => $node->booking_travel_insurance,
'booking_internal_flight_outbound' => $node->booking_internal_flight_outbound,
'booking_internal_flight_inbound' => $node->booking_internal_flight_inbound,
'booking_gender' => $node->booking_gender,
'booking_street' => $node->booking_street,
'booking_suburb' => $node->booking_suburb,
@@ -1272,6 +1307,9 @@ function _booking_update($node) {
'booking_passport_issue_name' => $node->booking_passport_issue_name,
'booking_passport_expiry_date' => _date_to_ts($node->booking_passport_expiry_date),
'booking_destination_country' => $node->booking_destination_country,
'booking_travel_insurance' => $node->booking_travel_insurance,
'booking_internal_flight_outbound' => $node->booking_internal_flight_outbound,
'booking_internal_flight_inbound' => $node->booking_internal_flight_inbound,
'booking_gender' => $node->booking_gender,
'booking_street' => $node->booking_street,
'booking_suburb' => $node->booking_suburb,
@@ -1633,6 +1671,9 @@ function booking_view($node, $view_mode) {
$rows[] = array(t('Passport Exact Issued Name:'), $node->booking_passport_issue_name);
$rows[] = array(t('Passport Issue Location:'), $node->booking_passport_issue_location);
$rows[] = array(t('Destination Country:'), $node->booking_destination_country);
$rows[] = array(t('Travel Insurance details:'), $node->booking_travel_insurance);
$rows[] = array(t('Internal Flight Outbound:'), $node->booking_internal_flight_outbound);
$rows[] = array(t('Internal Flight Returning:'), $node->booking_internal_flight_inbound);
}
$rows[] = array(t('Payment Type Selected:'), t('!amount_paid', array('!amount_paid' => $payment_type)));

View File

@@ -13,7 +13,7 @@ function booking_room_view_summary() {
global $event;
$output = "";
$header = array('Location', 'Assign Attendees', 'View Rooms For Location');
$attributes = array('style' => 'max-width:45%');
$attributes = array('style' => 'max-width:60%');
$rows = array();
//get room definitions
@@ -681,7 +681,7 @@ function booking_rooms_allocate_form($node, &$form_state, $location_id) {
$room_mapping = $room_mapping_query->fetchAllAssoc('booking_nodeid');
//query for room definitions
$room_query = db_query("SELECT * FROM {booking_room_definition} WHERE booking_room_location_id = :lid ORDER BY booking_room_number",
$room_query = db_query("SELECT * FROM {booking_room_definition} WHERE booking_room_location_id = :lid ORDER BY CAST(booking_room_number as SIGNED INTEGER) ASC",
array(':lid' => $location_id));
//query for attendees

View File

@@ -714,8 +714,12 @@ function booking_define_personspecific_tokens($node)
$tokens['travel-summary'] = _booking_travelform_email_summary($node);
$tokens['studygroup-summary'] = _booking_studygroup_email_summary($node);
$tokens['leaderhelper-pair'] = _booking_leader_helper_email_summary($node);
$tokens['room-allocation'] = _booking_room_email_summary($node);
$tokens['bed-type'] = _booking_room_bedtype_lookup($node->booking_room_bedtype);
if (variable_get('booking_enable_roomallocations', 0) == 1)
{
$tokens['room-allocation'] = _booking_room_email_summary($node);
$tokens['bed-type'] = _booking_room_bedtype_lookup($node->booking_room_bedtype);
}
return $tokens;
}