bug fixes in study groups assign leader/helper
This commit is contained in:
@@ -8,7 +8,6 @@
|
||||
/**
|
||||
* Function for selecting who is available to lead or help sessions
|
||||
*/
|
||||
|
||||
function booking_available_leadhelp_select_form() {
|
||||
global $event;
|
||||
|
||||
@@ -33,13 +32,12 @@ function booking_available_leadhelp_select_form() {
|
||||
$session_options[0] = '';
|
||||
for ($i = 1; $i <= $num_sessions; $i++)
|
||||
$session_options[$i] = $i;
|
||||
$session_options['Remove'] = 'Remove';
|
||||
|
||||
//select any entries already in the mapping table
|
||||
$group_mapping_query = db_query("SELECT * FROM {booking_studygroup_mapping} WHERE booking_eventid = :eid", array(':eid' => $event->eid));
|
||||
$group_mapping = $group_mapping_query->fetchAllAssoc('sid');
|
||||
|
||||
|
||||
|
||||
//***form starts here***
|
||||
$form['booking_studygroup'] = array(
|
||||
'#type' => 'select',
|
||||
@@ -48,7 +46,6 @@ function booking_available_leadhelp_select_form() {
|
||||
'#options' => $group_options,
|
||||
);
|
||||
|
||||
|
||||
$header = array (
|
||||
//'booking_nid' => array('data' => t('Booking ID'), 'field' => 'nid'),
|
||||
'booking_name' => array('data' => t('Name'), 'field' => 'booking_lastname'),
|
||||
@@ -164,17 +161,6 @@ function booking_available_leadhelp_select_form() {
|
||||
'#value' => t('Submit'),
|
||||
);
|
||||
|
||||
/*
|
||||
$form['submit-leader'] = array (
|
||||
'#type' => 'submit',
|
||||
'#value' => t('Set Leader'),
|
||||
);
|
||||
|
||||
$form['submit-helper'] = array (
|
||||
'#type' => 'submit',
|
||||
'#value' => t('Set Helper'),
|
||||
);
|
||||
*/
|
||||
return array (
|
||||
'first_para' => array (
|
||||
'#type' => 'markup',
|
||||
@@ -217,7 +203,7 @@ function booking_available_leadhelp_select_form_submit($form, &$form_state) {
|
||||
//$helper_list = $form_state['values']['booking_assign_helper_group'];
|
||||
$helper_session = $form_state['values']['booking_assign_helper_session'];
|
||||
|
||||
//watchdog('booking', "Leader list: @info", array('@info' => var_export($leader_list, TRUE)));
|
||||
watchdog('booking', "Leader list: @info", array('@info' => var_export($form_state['values'], TRUE)));
|
||||
//watchdog('booking', "Helper list: @info", array('@info' => var_export($helper_list, TRUE)));
|
||||
|
||||
//select any entries already in the mapping table
|
||||
@@ -232,8 +218,32 @@ function booking_available_leadhelp_select_form_submit($form, &$form_state) {
|
||||
$session = 0;
|
||||
$found = FALSE;
|
||||
|
||||
//remove from being a leader?
|
||||
if ($leader_session[$key] == "Remove")
|
||||
{
|
||||
$num_deleted = db_delete('booking_studygroup_mapping')
|
||||
->condition('booking_eventid', $event->eid)
|
||||
->condition('booking_node_id', $key)
|
||||
->condition('booking_studygroup_id', $booking_studygroup)
|
||||
->condition('booking_session_id', $leader_session[$key])
|
||||
->condition('booking_is_leader', 'Y')
|
||||
->execute();
|
||||
watchdog('booking', 'Removed person !nid from being a leader in study group !sid, affected !num rows.', array ('!nid' => $key, '!sid' => $booking_studygroup, '!num' => $num_deleted));
|
||||
}
|
||||
//remove from being a helper?
|
||||
elseif ($helper_session[$key] == "Remove")
|
||||
{
|
||||
$num_deleted = db_delete('booking_studygroup_mapping')
|
||||
->condition('booking_eventid', $event->eid)
|
||||
->condition('booking_node_id', $key)
|
||||
->condition('booking_studygroup_id', $booking_studygroup)
|
||||
->condition('booking_session_id', $helper_session[$key])
|
||||
->condition('booking_is_helper', 'Y')
|
||||
->execute();
|
||||
watchdog('booking', 'Removed person !nid from being a helper in study group !sid, affected !num rows.', array ('!nid' => $key, '!sid' => $booking_studygroup, '!num' => $num_deleted));
|
||||
}
|
||||
//was this person set as a leader?
|
||||
if ($leader_session[$key] <> 0)
|
||||
elseif ($leader_session[$key] <> 0)
|
||||
{
|
||||
$leader = 'Y';
|
||||
$session = $leader_session[$key];
|
||||
@@ -292,101 +302,9 @@ function booking_available_leadhelp_select_form_submit($form, &$form_state) {
|
||||
$counter++;
|
||||
}
|
||||
|
||||
$message = t("Defined !num leader/helper sessions for group id !id", array('!num' => $counter, '!id' => $booking_studygroup));
|
||||
$message = t("Processed !num leader/helper sessions for group id !id", array('!num' => $counter, '!id' => $booking_studygroup));
|
||||
drupal_set_message($message, 'status', FALSE);
|
||||
watchdog('booking', $message);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
$session_count = $form_state['values']['booking-leadhelp-count'];
|
||||
|
||||
foreach($checkboxes as $key => $value)
|
||||
{
|
||||
if (is_numeric($key) && $value != 0)
|
||||
{
|
||||
//watchdog('booking', 'Checking !nid for entry in the booking_leadhelp_list table', array ('!nid' => $key));
|
||||
|
||||
//check if an entry already exists for this person in the booking_leadhelp_list table
|
||||
$person = db_query("SELECT person.booking_node_id " .
|
||||
"FROM {booking_leadhelp_list} person " .
|
||||
"WHERE booking_node_id = :nid",
|
||||
array(':nid' => $key))
|
||||
->fetchObject();
|
||||
|
||||
if ($form_state['values']['op'] == 'Set Leader')
|
||||
{
|
||||
watchdog('booking', 'Setting group leader count to !count for !nid', array ('!count' => $session_count, '!nid' => $key));
|
||||
|
||||
if ($person)
|
||||
{
|
||||
//run an update
|
||||
db_update('booking_leadhelp_list')
|
||||
->fields(array (
|
||||
'booking_total_lead' => $session_count,
|
||||
'booking_available_lead' => $session_count,
|
||||
))
|
||||
->condition('booking_node_id', $key)
|
||||
->execute();
|
||||
}
|
||||
else
|
||||
{
|
||||
//run an insert
|
||||
db_insert('booking_leadhelp_list')
|
||||
->fields(array(
|
||||
'booking_eventid' => $event->eid,
|
||||
'booking_node_id' => $key,
|
||||
'booking_total_lead' => $session_count,
|
||||
'booking_available_lead' => $session_count,
|
||||
'booking_total_help' => 0,
|
||||
'booking_available_help' => 0,
|
||||
))
|
||||
->execute();
|
||||
}
|
||||
|
||||
}
|
||||
elseif ($form_state['values']['op'] == 'Set Helper')
|
||||
{
|
||||
watchdog('booking', 'Setting group helper count to !count for !nid', array ('!count' => $session_count, '!nid' => $key));
|
||||
|
||||
if ($person)
|
||||
{
|
||||
//run an update
|
||||
db_update('booking_leadhelp_list')
|
||||
->fields(array (
|
||||
'booking_total_help' => $session_count,
|
||||
'booking_available_help' => $session_count,
|
||||
))
|
||||
->condition('booking_node_id', $key)
|
||||
->execute();
|
||||
}
|
||||
else
|
||||
{
|
||||
//run an insert
|
||||
db_insert('booking_leadhelp_list')
|
||||
->fields(array(
|
||||
'booking_eventid' => $event->eid,
|
||||
'booking_node_id' => $key,
|
||||
'booking_total_lead' => 0,
|
||||
'booking_available_lead' => 0,
|
||||
'booking_total_help' => $session_count,
|
||||
'booking_available_help' => $session_count,
|
||||
))
|
||||
->execute();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$counter++;
|
||||
}
|
||||
}
|
||||
|
||||
drupal_set_message("Defined leader/helper numbers for $counter people.", 'status', FALSE);
|
||||
watchdog('booking', "Defined leader/helper numbers for $counter people.");
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -451,8 +369,8 @@ function booking_studygroups_calculate() {
|
||||
//calculate the max number of attendees in a group
|
||||
$firstgroup = reset($studygroups);
|
||||
$limit = variable_get('booking_regn_limit','500');
|
||||
//add an extra one to the maximum size, to cater for some larger groups when the number of people doesn't divide evenly
|
||||
$max_people = (int) ($limit / $firstgroup->booking_num_group_sessions) + 1;
|
||||
//add an extra two to the maximum size, to cater for some larger groups when the number of people doesn't divide evenly
|
||||
$max_people = (int) ($limit / $firstgroup->booking_num_group_sessions) + 2;
|
||||
|
||||
//select all the attendees booked in
|
||||
/*
|
||||
|
Reference in New Issue
Block a user