Adding form for study group definitions

This commit is contained in:
2014-11-17 17:45:54 +11:00
parent 0d5245af30
commit ce0fdb849f
2 changed files with 149 additions and 106 deletions

View File

@@ -521,112 +521,143 @@ function booking_uninstall() {
* Implementation of hook_schema(). * Implementation of hook_schema().
*/ */
function booking_schema() { function booking_schema() {
$schema['booking_person'] = array( $schema['booking_person'] = array(
'fields' => array( 'fields' => array(
//identifiers //identifiers
'nid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10'), 'nid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10'),
'booking_event_id' => array('type' => 'int', 'length' => '11', 'default' => 0, 'not null' => FALSE), 'booking_event_id' => array('type' => 'int', 'length' => '11', 'default' => 0, 'not null' => FALSE),
'booking_tempid' => array('type' => 'varchar', 'length' => '40', 'not null' => FALSE), 'booking_tempid' => array('type' => 'varchar', 'length' => '40', 'not null' => FALSE),
'booking_timestamp' => array('type' => 'int', 'not null' => TRUE, 'disp-width' => '11'), 'booking_timestamp' => array('type' => 'int', 'not null' => TRUE, 'disp-width' => '11'),
'booking_status' => array('type' => 'int', 'length' => '11', 'default' => 0, 'not null' => FALSE), 'booking_firstname' => array('type' => 'varchar', 'length' => '50', 'not null' => TRUE),
'booking_committee_member' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE, 'default' => 'N'), 'booking_lastname' => array('type' => 'varchar', 'length' => '50', 'not null' => TRUE),
'booking_welfare_required' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE, 'default' => 'N'), 'booking_gender' => array('type' => 'varchar', 'length' => '1', 'not null' => TRUE),
'booking_barcode' => array('type' => 'varchar', 'length' => '20', 'not null' => FALSE), 'booking_dob' => array('type' => 'int', 'not null' => TRUE, 'disp-width' => '11'),
'booking_luckynum' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10', 'default' => 0), 'booking_status' => array('type' => 'int', 'length' => '11', 'default' => 0, 'not null' => FALSE),
'booking_firstname' => array('type' => 'varchar', 'length' => '50', 'not null' => TRUE), 'booking_committee_member' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE, 'default' => 'N'),
'booking_lastname' => array('type' => 'varchar', 'length' => '50', 'not null' => TRUE), 'booking_welfare_required' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE, 'default' => 'N'),
'booking_gender' => array('type' => 'varchar', 'length' => '1', 'not null' => TRUE), 'booking_barcode' => array('type' => 'varchar', 'length' => '20', 'not null' => FALSE),
'booking_dob' => array('type' => 'int', 'not null' => TRUE, 'disp-width' => '11'), 'booking_luckynum' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10', 'default' => 0),
'booking_shirt_size' => array('type' => 'varchar', 'length' => '20', 'not null' => FALSE), 'booking_readinggroup' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
//address details 'booking_shirt_size' => array('type' => 'varchar', 'length' => '20', 'not null' => FALSE),
'booking_street' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE), 'booking_dietary' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_suburb' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE), 'booking_medical_conditions' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_postcode' => array('type' => 'varchar', 'length' => '8', 'not null' => FALSE), //address details
'booking_state' => array('type' => 'varchar', 'length' => '30', 'not null' => FALSE), 'booking_street' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE),
'booking_country' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE), 'booking_suburb' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE),
'booking_phone' => array('type' => 'varchar', 'length' => '50', 'not null' => FALSE), 'booking_postcode' => array('type' => 'varchar', 'length' => '8', 'not null' => FALSE),
'booking_mobile' => array('type' => 'varchar', 'length' => '50', 'not null' => FALSE), 'booking_state' => array('type' => 'varchar', 'length' => '30', 'not null' => FALSE),
'booking_email' => array('type' => 'varchar', 'length' => '200', 'not null' => TRUE), 'booking_country' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE),
'booking_ecclesia' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE), 'booking_phone' => array('type' => 'varchar', 'length' => '50', 'not null' => FALSE),
'booking_baptised' => array('type' => 'varchar', 'length' => '1', 'not null' => TRUE), 'booking_mobile' => array('type' => 'varchar', 'length' => '50', 'not null' => FALSE),
//relationships 'booking_email' => array('type' => 'varchar', 'length' => '200', 'not null' => TRUE),
'booking_married' => array('type' => 'varchar', 'length' => '1', 'not null' => TRUE), 'booking_ecclesia' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE),
'booking_partner_name' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE), 'booking_baptised' => array('type' => 'varchar', 'length' => '1', 'not null' => TRUE),
'booking_partner_id' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10'), //relationships
'booking_bf_gf' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE), 'booking_married' => array('type' => 'varchar', 'length' => '1', 'not null' => TRUE),
'booking_bf_gf_nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10'), 'booking_partner_name' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE),
'booking_room_mate1' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'booking_partner_id' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10'),
'booking_room_mate2' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'booking_bf_gf' => array('type' => 'varchar', 'length' => '100', 'not null' => FALSE),
//helping areas 'booking_bf_gf_nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'disp-width' => '10'),
'booking_readinggroup' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'booking_room_mate1' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_help_music' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'booking_room_mate2' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_help_reading' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), //payment info
'booking_help_chairing' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_payment_id' => array('type' => 'int', 'length' => '11', 'default' => 0, 'not null' => FALSE),
'booking_help_discussgroup_lead' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), //'booking_payment_method' => array('type' => 'varchar', 'length' => '100', 'not null' => TRUE),
'booking_help_readgroup_lead' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_total_pay_reqd' => array('type' => 'numeric', 'not null' => FALSE, 'default' => 0, 'precision' => '7', 'scale' => '2'),
'booking_help_praying' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_amount_paid' => array('type' => 'numeric', 'not null' => FALSE, 'default' => 0, 'precision' => '7', 'scale' => '2'),
'booking_help_meditations' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_deposit_timestamp' => array('type' => 'int', 'not null' => FALSE, 'disp-width' => '11'),
//other helping areas 'booking_refund_processed' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE, 'default' => 'N'),
'booking_has_mission_experience' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_refund_due' => array('type' => 'numeric', 'not null' => FALSE, 'default' => 0, 'precision' => '7', 'scale' => '2'),
'booking_mission_experience_details' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE), //emergency contact info
'booking_guardian_name' => array('type' => 'varchar', 'length' => '100', 'not null' => TRUE),
'booking_skills_builder' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_guardian_type' => array('type' => 'varchar', 'length' => '100', 'not null' => TRUE),
'booking_skills_cooking' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_guardian_phone' => array('type' => 'varchar', 'length' => '50', 'not null' => FALSE),
'booking_skills_childminding' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_guardian_phone_alt' => array('type' => 'varchar', 'length' => '50', 'not null' => FALSE),
'booking_skills_language' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_medicare' => array('type' => 'varchar', 'length' => '50', 'not null' => FALSE),
'booking_skills_language_details' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE), /*
'booking_skills_other' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), ),
'booking_skills_other_details' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE), 'primary key' => array('nid'),
);
//emergency contact info
'booking_guardian_name' => array('type' => 'varchar', 'length' => '100', 'not null' => TRUE), $schema['booking_person_helpareas'] = array(
'booking_guardian_type' => array('type' => 'varchar', 'length' => '100', 'not null' => TRUE), 'fields' => array(
'booking_guardian_phone' => array('type' => 'varchar', 'length' => '50', 'not null' => FALSE), 'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10'),
'booking_guardian_phone_alt' => array('type' => 'varchar', 'length' => '50', 'not null' => FALSE), */
'booking_medicare' => array('type' => 'varchar', 'length' => '50', 'not null' => FALSE), 'booking_help_music' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
//'booking_medicare_expiry' => array('type' => 'int', 'not null' => FALSE, 'disp-width' => '11'), 'booking_help_reading' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
//'booking_medicare_linenum' => array('type' => 'varchar', 'length' => '2', 'not null' => FALSE), 'booking_help_chairing' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_lifesaver' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_help_discussgroup_lead' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_firstaid' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_help_readgroup_lead' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_nurse' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_help_praying' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_doctor' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE), 'booking_help_meditations' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_dietary' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'booking_has_mission_experience' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_medical_conditions' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'booking_mission_experience_details' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE),
//payment info 'booking_skills_builder' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_payment_id' => array('type' => 'int', 'length' => '11', 'default' => 0, 'not null' => FALSE), 'booking_skills_cooking' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
//'booking_payment_method' => array('type' => 'varchar', 'length' => '100', 'not null' => TRUE), 'booking_skills_childminding' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_total_pay_reqd' => array('type' => 'numeric', 'not null' => FALSE, 'default' => 0, 'precision' => '7', 'scale' => '2'), 'booking_skills_language' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_amount_paid' => array('type' => 'numeric', 'not null' => FALSE, 'default' => 0, 'precision' => '7', 'scale' => '2'), 'booking_skills_language_details' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE),
'booking_deposit_timestamp' => array('type' => 'int', 'not null' => FALSE, 'disp-width' => '11'), 'booking_skills_other' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_refund_processed' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE, 'default' => 'N'), 'booking_skills_other_details' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE),
'booking_refund_due' => array('type' => 'numeric', 'not null' => FALSE, 'default' => 0, 'precision' => '7', 'scale' => '2'), 'booking_lifesaver' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
//passport info 'booking_firstaid' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_passport_expiry_date' => array('type' => 'int', 'not null' => FALSE, 'disp-width' => '11'), 'booking_nurse' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_passport_num' => array('type' => 'varchar', 'length' => '50', 'not null' => FALSE), 'booking_doctor' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
'booking_passport_issue_location' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE), /*
'booking_passport_issue_name' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE), ),
//flight info 'foreign keys' => array(
'booking_destination_country' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE), 'person_reference' => array(
'booking_travel_insurance' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE), 'table' => 'booking_person',
'booking_outflight_bookingnum' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'columns' => array('nid' => 'nid'),
'booking_outflight_flightnum' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), ),
'booking_outflight_origin' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), ),
'booking_outflight_origin' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), );
'booking_outflight_origin_ts' => array('type' => 'int', 'not null' => FALSE, 'disp-width' => '11'),
'booking_outflight_connecting_flightnum' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), $schema['booking_person_flightinfo'] = array(
'booking_outflight_destination' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'fields' => array(
'booking_outflight_destination_ts' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10'),
'booking_rtrnflight_bookingnum' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_rtrnflight_flightnum' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), */
'booking_rtrnflight_origin' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), //passport info
'booking_rtrnflight_origin_ts' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'booking_passport_expiry_date' => array('type' => 'int', 'not null' => FALSE, 'disp-width' => '11'),
'booking_rtrnflight_connecting_flightnum' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'booking_passport_num' => array('type' => 'varchar', 'length' => '50', 'not null' => FALSE),
'booking_rtrnflight_destination' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'booking_passport_issue_location' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE),
'booking_rtrnflight_destination_ts' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE), 'booking_passport_issue_name' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE),
//flight info
), 'booking_destination_country' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE),
'primary key' => array('nid'), 'booking_travel_insurance' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE),
); 'booking_outflight_bookingnum' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_outflight_flightnum' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_outflight_origin' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_outflight_origin' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_outflight_origin_ts' => array('type' => 'int', 'not null' => FALSE, 'disp-width' => '11'),
'booking_outflight_connecting_flightnum' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_outflight_destination' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_outflight_destination_ts' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_rtrnflight_bookingnum' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_rtrnflight_flightnum' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_rtrnflight_origin' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_rtrnflight_origin_ts' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_rtrnflight_connecting_flightnum' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_rtrnflight_destination' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
'booking_rtrnflight_destination_ts' => array('type' => 'varchar', 'length' => '200', 'not null' => FALSE),
/*
),
'foreign keys' => array(
'person_reference' => array(
'table' => 'booking_person',
'columns' => array('nid' => 'nid'),
),
),
);
*/
),
'primary key' => array('nid'),
);
$schema['booking_event'] = array( $schema['booking_event'] = array(
'fields' => array( 'fields' => array(
'eid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10'), 'eid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10'),
@@ -737,6 +768,7 @@ function booking_schema() {
'booking_eventid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10'), 'booking_eventid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10'),
'booking_studygroup_descrip' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE), 'booking_studygroup_descrip' => array('type' => 'varchar', 'length' => '500', 'not null' => FALSE),
'booking_num_group_sessions' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10', 'default' => 1), 'booking_num_group_sessions' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'disp-width' => '10', 'default' => 1),
'booking_is_readinggroup' => array('type' => 'varchar', 'length' => '1', 'not null' => FALSE),
), ),
'primary key' => array('sid'), 'primary key' => array('sid'),
); );

View File

@@ -58,6 +58,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 study group definitions
module_load_include('inc', 'booking', 'booking.studygroups_admin');
// Load the include for the travel form // Load the include for the travel form
module_load_include('inc', 'booking', 'booking.travel'); module_load_include('inc', 'booking', 'booking.travel');
// Load the include for managing room bookings and definitions // Load the include for managing room bookings and definitions
@@ -359,6 +361,15 @@ function booking_menu() {
'access arguments' => array("view study groups"), 'access arguments' => array("view study groups"),
'type' => MENU_NORMAL_ITEM, 'type' => MENU_NORMAL_ITEM,
); );
$items['admin/booking/studygroups/add'] = array(
'title' => 'Add Study Group',
'description' => 'Add Study Group definition',
'page callback' => 'drupal_get_form',
'page arguments' => array('booking_studygroups_add_form', true),
'access arguments' => array("edit study groups"),
'type' => MENU_LOCAL_ACTION,
);
$items['admin/booking/studygroups/%/view'] = array( $items['admin/booking/studygroups/%/view'] = array(
'title' => 'View Study Group', 'title' => 'View Study Group',