Travel form bugfixes

This commit is contained in:
2014-02-15 21:27:58 +11:00
parent 01da63e694
commit 5e88777054
4 changed files with 51 additions and 15 deletions

View File

@@ -399,7 +399,8 @@ function booking_schema() {
//relationships //relationships
'booking_married' => array('type' => 'varchar', 'length' => '1', 'not null' => TRUE), 'booking_married' => array('type' => 'varchar', 'length' => '1', 'not null' => TRUE),
'booking_partner_name' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE), 'booking_partner_name' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE),
'booking_partner_id' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10'), 'booking_partner_id' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10'),
'booking_bf_gf' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE),
'booking_room_mate1' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'booking_room_mate1' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_room_mate2' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'booking_room_mate2' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
//helping areas //helping areas
@@ -496,6 +497,26 @@ function booking_schema() {
), ),
'primary key' => array('vid'), 'primary key' => array('vid'),
); );
$schema['booking_travel'] = array(
'fields' => array(
'tid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10'),
'booking_person_nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10'),
'booking_transport_type' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE),
'booking_transport_from_morriset_reqd' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_transport_to_morriset_reqd' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_flightnum_inbound' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE),
'booking_flight_datetime_inbound' => array('type' => 'int', 'not null' => FALSE, 'disp-width' => '11'),
'booking_flightnum_outbound' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE),
'booking_flight_datetime_outbound' => array('type' => 'int', 'not null' => FALSE, 'disp-width' => '11'),
'booking_accom_before_reqd' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_accom_before_staying_with' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_accom_after_reqd' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_accom_after_staying_with' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
),
'primary key' => array('tid'),
);
return $schema; return $schema;
} }

View File

@@ -55,6 +55,8 @@ module_load_include('inc', 'booking', 'booking.import_data');
module_load_include('inc', 'booking', 'booking.variety'); module_load_include('inc', 'booking', 'booking.variety');
// Load the include for study group configuration // Load the include for study group configuration
module_load_include('inc', 'booking', 'booking.studygroups'); module_load_include('inc', 'booking', 'booking.studygroups');
// Load the include for the travel form
module_load_include('inc', 'booking', 'booking.travel');
function booking_init() { function booking_init() {
date_default_timezone_set(TIMEZONE); date_default_timezone_set(TIMEZONE);

View File

@@ -289,11 +289,17 @@ $booking_registration_intro_text = variable_get('booking_registration_intro_text
'#collapsed' => TRUE, '#collapsed' => TRUE,
); );
$form['travel']['booking_travelform_page'] = array( $form['travel']['booking_travelform_page'] = array(
'#title' => t('Text to use at the start of the travel form.'), '#title' => t('Text to use at the start of the travel form for a non-married person.'),
'#type' => 'textarea', '#type' => 'textarea',
'#description' => t(''), '#description' => t(''),
'#default_value' => variable_get('booking_travelform_page', ''), '#default_value' => variable_get('booking_travelform_page', ''),
); );
$form['travel']['booking_travelform_married_page'] = array(
'#title' => t('Text to use at the start of the travel form for a married couple. Only applies if combined pricing is enabled.'),
'#type' => 'textarea',
'#description' => t(''),
'#default_value' => variable_get('booking_travelform_married_page', ''),
);
$form['travel']['booking_travelform_completed_page'] = array( $form['travel']['booking_travelform_completed_page'] = array(
'#title' => t('Text to use on the travel form if the form has already been submitted.'), '#title' => t('Text to use on the travel form if the form has already been submitted.'),
'#type' => 'textarea', '#type' => 'textarea',

View File

@@ -16,11 +16,18 @@ function booking_travel_page() {
} }
//fetch details about the person //fetch details about the person
/*
$person = db_query("SELECT * FROM {booking_person} " . $person = db_query("SELECT * FROM {booking_person} " .
"WHERE booking_tempid = :tempid ", "WHERE booking_tempid = :tempid ",
array(':tempid' => arg(1))) array(':tempid' => arg(1)))
->fetchObject(); ->fetchObject();
*/
$person = db_query("SELECT p.*, t.* from {booking_person} p " .
"left outer join {booking_travel} t on p.nid = t.booking_person_nid " .
"where p.booking_event_id = :eid AND p.booking_tempid = :tempid",
array(':tempid' => arg(1), ':eid' => $event->eid))
->fetchObject();
if ($person) if ($person)
{ {
$tokens = booking_define_personspecific_tokens($person); $tokens = booking_define_personspecific_tokens($person);
@@ -36,26 +43,26 @@ function booking_travel_page() {
if ($travelform) if ($travelform)
{ {
/*
$output .= t("<p><br />Hi !firstname !lastname. Our records indicate you or your spouse have already completed the travel details form for !event. " . $output .= t("<p><br />Hi !firstname !lastname. Our records indicate you or your spouse have already completed the travel details form for !event. " .
"Please contact us if you need change any of your travel details.</p>", "Please contact us if you need change any of your travel details.</p>",
array('!firstname' => $person->booking_firstname, '!lastname' => $person->booking_lastname, '!event' => $event->booking_eventname)); array('!firstname' => $person->booking_firstname, '!lastname' => $person->booking_lastname, '!event' => $event->booking_eventname));
*/
$output = token_replace(variable_get('booking_travelform_completed_page'), $tokens);
$return_array[] = array('paragraph' => array('#type' => 'markup', '#markup' => $output)); $return_array[] = array('paragraph' => array('#type' => 'markup', '#markup' => $output));
} }
//they haven't submitted a travel form yet //they haven't submitted a travel form yet
else else
{ {
$output = token_replace(variable_get('booking_travelform_page'), $tokens); //Output different text if this is for a married couple
if ((variable_get('booking_enable_combined_pricing', 0) == 1) && $person->booking_partner_id > 0)
{
//check for married couple $output = token_replace(variable_get('booking_travelform_married_page'), $tokens);
//if ($person->booking_partner_id > 0) { }
// $output .= t("<p><br />Hi Mr and Mrs !lastname. Please enter your travel details for !event below.</p>", else
// array('!lastname' => $person->booking_lastname, '!event' => $event->booking_eventname)); {
//} $output = token_replace(variable_get('booking_travelform_page'), $tokens);
//else { }
// $output .= t("<p><br />Hi !firstname !lastname. Please enter your travel details for !event below.</p>",
// array('!firstname' => $person->booking_firstname, '!lastname' => $person->booking_lastname, '!event' => $event->booking_eventname));
//}
$return_array[] = array('paragraph' => array('#type' => 'markup', '#markup' => $output)); $return_array[] = array('paragraph' => array('#type' => 'markup', '#markup' => $output));
$return_array[] = array('form' => drupal_get_form('travel_form', true, $person->nid)); $return_array[] = array('form' => drupal_get_form('travel_form', true, $person->nid));