From 7153665b044b36049b212f34192259e45a32d79c Mon Sep 17 00:00:00 2001 From: Nathan Coad Date: Sun, 20 Oct 2013 09:15:50 +1100 Subject: [PATCH] Progress on variety session form --- booking.module | 7 +++++ booking.variety.inc | 76 +++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 80 insertions(+), 3 deletions(-) diff --git a/booking.module b/booking.module index 9adb618..6928915 100644 --- a/booking.module +++ b/booking.module @@ -202,6 +202,13 @@ function booking_menu() { 'access arguments' => array('access booking form'), 'type' => MENU_CALLBACK, ); + $items['variety'] = array( + 'title' => $bookingTitle . ' Variety Sessions', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('booking_variety_regn_form'), + 'access arguments' => array('access booking form'), + 'type' => MENU_NORMAL_ITEM, + ); //Various reports $items['admin/booking/summary'] = array( diff --git a/booking.variety.inc b/booking.variety.inc index 19b6be8..2af46c9 100644 --- a/booking.variety.inc +++ b/booking.variety.inc @@ -56,12 +56,12 @@ function booking_variety_admin() ); } - +/* function booking_variety_admin_submit($form, &$form_state) { } - +*/ function booking_variety_timeslot_form($node, &$form_state, $create, $editid = 0) { @@ -313,6 +313,9 @@ function booking_variety_list_session_form($node, &$form_state, $timeslot_id = 0 return ""; } + $prefix = t("

!link

", + array ('!link' => l('Add New Variety Session', "admin/config/booking/variety/$timeslot_id/session/create"))); + $query = db_select ('booking_variety_options', 'v'); $query->join('booking_variety_times', 't', 'v.booking_variety_timeslot_id = t.tid'); $query->condition('v.booking_variety_timeslot_id', $timeslot_id, '=') @@ -352,11 +355,78 @@ function booking_variety_list_session_form($node, &$form_state, $timeslot_id = 0 ); return array ( + 'first_para' => array ( + '#type' => 'markup', + '#markup' => $prefix, + ), 'form' => $form, - ); + ); } function booking_variety_edit_session_form() { +} + +function booking_variety_regn_form($node, &$form_state) +{ + global $event; + $form = array (); + $data = $node; + $timeslot_count = 0; + + $query = db_query("SELECT * FROM {booking_variety_times} WHERE booking_eventid = :eid AND booking_variety_status = 1", + array(':eid' => $event->eid)); + + $form['booking_barcode'] = array ( + '#type' => 'textfield', + '#title' => t('Barcode'), + '#description' => t('Enter the barcode from your lanyard'), + '#size' => 60, + '#maxlength' => 150, + '#required' => TRUE, + '#default_value' => !empty($data->booking_barcode) ? $data->booking_barcode : '', + ); + + //for each entry in the variety timeslot table, create a new form select item + $result = db_query("SELECT * from {booking_variety_times}"); + + foreach($query as $timeslot) + { + //reset the array + $options = array (); + $options[''] = ''; + + //query for variety sessions in the timeslot + $session_query = db_query("SELECT * from {booking_variety_options} WHERE booking_variety_timeslot_id = :id AND booking_variety_status = 1", + array(':id' => $timeslot->tid)); + + //add all the sessions to the select list + foreach($session_query as $session) + { + $options[$session->vid] = $session->booking_variety_descrip; + } + + //create the form element for this timeslot + $form['select-variety-' . $timeslot_count] = array( + '#type' => 'select', + '#title' => t('Variety Session: ' . $timeslot->booking_variety_time_descrip), + '#required' => TRUE, + '#default_value' => '', + '#options' => $options, + ); + + $timeslot_count++; + } + + $form['submit'] = array + ( + '#type' => 'submit', + '#value' => t('Submit'), + ); + + return array ( + 'form' => $form, + ); + } \ No newline at end of file