diff --git a/booking.admin.inc b/booking.admin.inc index 0e51693..5d30334 100644 --- a/booking.admin.inc +++ b/booking.admin.inc @@ -332,7 +332,7 @@ function booking_admin() { '#options' => _booking_get_help_areas(), '#default_value' => variable_get('booking_enabled_helparea_options', ''), '#states' => array( - // Only show this field when the 'booking_enable_helpareas' checkbox is enabled. + // Only show this field when the 'booking_enable_helpareas' radio option is set to true 'visible' => array( ':input[name="booking_enable_helpareas"]' => array('value' => 1), ), @@ -353,20 +353,47 @@ function booking_admin() { '#default_value' => variable_get('booking_enable_roommate', 0), ); $form['regn_options']['booking_enable_dietary'] = array ( - '#type' => 'radios', - '#title' => t('Allow attendee to specify dietary requirements?'), - '#description' => t('If set to No, the following text definition will be used instead.'), - '#options' => array (0 => t('No'), t('Yes')), - '#default_value' => variable_get('booking_enable_dietary', 0), + '#type' => 'radios', + '#title' => t('Allow attendee to specify dietary requirements?'), + '#description' => t('If set to No, the following text definition will be used instead.'), + '#options' => array (0 => t('No'), 1 => t('Yes')), + '#default_value' => variable_get('booking_enable_dietary', 0), ); $form['regn_options']['booking_dietary_text_definition'] = array ( - '#type' => 'textfield', - '#title' => t('Dietary Requirements Text Definition'), - '#default_value' => variable_get('booking_dietary_text_definition', 'Please use the contact us form to indicate what dietary requirements you have.'), - '#description' => 'Text to use on registration form if attendee may not specify dietary requirements (as above).', - '#size' => 150, - '#maxlength' => 2000, + '#type' => 'textfield', + '#title' => t('Dietary Requirements Text Definition'), + '#default_value' => variable_get('booking_dietary_text_definition', 'Please use the contact us form to indicate what dietary requirements you have.'), + '#description' => 'Text to use on registration form if attendee may not specify dietary requirements.', + '#size' => 150, + '#maxlength' => 2000, + '#states' => array( + // Only show this field when the 'booking_enable_dietary' radio option is set to No + 'visible' => array( + ':input[name="booking_enable_dietary"]' => array('value' => 0), + ), + ), ); + $form['regn_options']['booking_enable_medcond'] = array ( + '#type' => 'radios', + '#title' => t('Allow attendee to specify medical conditions?'), + '#description' => t('If set to No, the following text definition will be used instead.'), + '#options' => array (0 => t('No'), 1 => t('Yes')), + '#default_value' => variable_get('booking_enable_medcond', 0), + ); + $form['regn_options']['booking_medcond_text_definition'] = array ( + '#type' => 'textfield', + '#title' => t('Medical Condition Text Definition'), + '#default_value' => variable_get('booking_medcond_text_definition', 'Please use the contact us form to indicate what medical condition you have.'), + '#description' => 'Text to use on registration form if attendee may not specify a medical condition.', + '#size' => 150, + '#maxlength' => 2000, + '#states' => array( + // Only show this field when the 'booking_enable_medcond' radio option is set to No + 'visible' => array( + ':input[name="booking_enable_medcond"]' => array('value' => 0), + ), + ), + ); $form['management'] = array ( '#type' => 'fieldset', diff --git a/booking.regn_form.inc b/booking.regn_form.inc index 49a4a13..6632562 100644 --- a/booking.regn_form.inc +++ b/booking.regn_form.inc @@ -908,47 +908,65 @@ if (variable_get('booking_enable_passport', 0) == 1) '#required' => FALSE, '#states' => array( 'visible' => array( - ':input[name="booking_dietary_check"]' => array('checked' => TRUE), + ':input[name="booking_dietary_check"]' => array('checked' => TRUE), ), ), '#default_value' => !empty($data->booking_dietary) ? $data->booking_dietary : '' ); } + //the user is not allowed to enter data directly, so show them the instructions specified by the admin configuration options else { $form['misc-areas']['booking_dietary'] = array( '#type' => 'container', '#children' => variable_get('booking_dietary_text_definition', "Please contact us to specify your dietary requirements."), '#states' => array( - 'visible' => array( - ':input[name="booking_dietary_check"]' => array('checked' => TRUE), + 'visible' => array( + ':input[name="booking_dietary_check"]' => array('checked' => TRUE), + ), ), - ), ); } - - + $form['misc-areas']['booking_medical_conditions_check'] = array( '#type' => 'checkbox', '#title' => t('I have special medical condition(s), including allergies'), '#default_value' => (!empty($data->booking_medical_conditions) && $data->booking_medical_conditions == 'Y') ? 1 : 0 ); - $form['misc-areas']['booking_medical_conditions'] = array( - '#type' => 'textarea', - '#title' => t('Please list any medical conditions we need to be aware of. For allegies, please list the reaction to the allergen(s).'), - '#cols' => 60, - '#rows' => 5, - '#resizable' => FALSE, - '#required' => FALSE, - '#states' => array( - 'visible' => array( - ':input[name="booking_medical_conditions_check"]' => array('checked' => TRUE), + + if (variable_get('booking_enable_medcond', 0) == 1) + { + $form['misc-areas']['booking_medical_conditions'] = array( + '#type' => 'textarea', + '#title' => t('Please list any medical conditions we need to be aware of. For allegies, please list the reaction to the allergen(s).'), + '#cols' => 60, + '#rows' => 5, + '#resizable' => FALSE, + '#required' => FALSE, + '#states' => array( + 'visible' => array( + ':input[name="booking_medical_conditions_check"]' => array('checked' => TRUE), + ), ), - ), - '#attributes' => array('maxlength' => 1000), - '#default_value' => !empty($data->booking_medical_conditions) ? $data->booking_medical_conditions : '', - ); + '#attributes' => array('maxlength' => 1000), + '#default_value' => !empty($data->booking_medical_conditions) ? $data->booking_medical_conditions : '', + ); + } + //the user is not allowed to enter data directly, so show them the instructions specified by the admin configuration options + else + { + $form['misc-areas']['booking_medical_conditions'] = array( + '#type' => 'container', + '#children' => variable_get('booking_medcond_text_definition', "Please contact us to specify your dietary requirements."), + '#states' => array( + 'visible' => array( + ':input[name="booking_medical_conditions_check"]' => array('checked' => TRUE), + ), + ), + ); + } + //inserting is not true, so give the admin the textfield for entering/viewing data for dietary and medical conditions } else { $form['misc-areas']['booking_dietary'] = array( '#type' => 'textfield', @@ -957,11 +975,15 @@ if (variable_get('booking_enable_passport', 0) == 1) '#default_value' => !empty($data->booking_dietary) ? $data->booking_dietary : '' ); $form['misc-areas']['booking_medical_conditions'] = array( - '#type' => 'textfield', - '#title' => t('Please list any medical conditions we need to be aware of.'), - '#maxlength' => 120, - '#default_value' => !empty($data->booking_medical_conditions) ? $data->booking_medical_conditions : '' - ); + '#type' => 'textarea', + '#title' => t('Please list any medical conditions we need to be aware of. For allegies, please list the reaction to the allergen(s).'), + '#cols' => 60, + '#rows' => 5, + '#resizable' => TRUE, + '#required' => FALSE, + '#attributes' => array('maxlength' => 1000), + '#default_value' => !empty($data->booking_medical_conditions) ? $data->booking_medical_conditions : '', + ); } if (variable_get('booking_enable_roommate', 0) == 1)