Progress on variety session form

This commit is contained in:
2013-10-20 09:15:50 +11:00
parent e255137bf9
commit 7153665b04
2 changed files with 80 additions and 3 deletions

View File

@@ -202,6 +202,13 @@ function booking_menu() {
'access arguments' => array('access booking form'), 'access arguments' => array('access booking form'),
'type' => MENU_CALLBACK, '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 //Various reports
$items['admin/booking/summary'] = array( $items['admin/booking/summary'] = array(

View File

@@ -56,12 +56,12 @@ function booking_variety_admin()
); );
} }
/*
function booking_variety_admin_submit($form, &$form_state) function booking_variety_admin_submit($form, &$form_state)
{ {
} }
*/
function booking_variety_timeslot_form($node, &$form_state, $create, $editid = 0) 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 ""; return "";
} }
$prefix = t("<p>!link</p>",
array ('!link' => l('Add New Variety Session', "admin/config/booking/variety/$timeslot_id/session/create")));
$query = db_select ('booking_variety_options', 'v'); $query = db_select ('booking_variety_options', 'v');
$query->join('booking_variety_times', 't', 'v.booking_variety_timeslot_id = t.tid'); $query->join('booking_variety_times', 't', 'v.booking_variety_timeslot_id = t.tid');
$query->condition('v.booking_variety_timeslot_id', $timeslot_id, '=') $query->condition('v.booking_variety_timeslot_id', $timeslot_id, '=')
@@ -352,6 +355,10 @@ function booking_variety_list_session_form($node, &$form_state, $timeslot_id = 0
); );
return array ( return array (
'first_para' => array (
'#type' => 'markup',
'#markup' => $prefix,
),
'form' => $form, 'form' => $form,
); );
} }
@@ -360,3 +367,66 @@ 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,
);
}