add reserve helper role to studygroups
This commit is contained in:
@@ -108,18 +108,20 @@ function _get_tshirt_options() {
|
||||
* @param $input integer containing role id
|
||||
* @return string for corresponding role
|
||||
*/
|
||||
function _booking_studygroup_role_lookup($input = NULL)
|
||||
{
|
||||
function _booking_studygroup_role_lookup($input = NULL) {
|
||||
$role = array();
|
||||
$role[] = t('No Role');
|
||||
$role[] = t('Leader');
|
||||
$role[] = t('Helper');
|
||||
$role[] = t('Reserve Leader');
|
||||
|
||||
if ($input != NULL)
|
||||
$role[] = t('Reserve Helper');
|
||||
|
||||
if ($input != NULL) {
|
||||
return $role[$input];
|
||||
else
|
||||
}
|
||||
else {
|
||||
return $role;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -2,11 +2,9 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Functions for calculating leaders and helpers for discussion groups
|
||||
* Functions for automatically calculating leaders and helpers for discussion groups
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Function for calculating and assigning leaders and helpers to active study group sessions
|
||||
*/
|
||||
@@ -66,20 +64,16 @@ function _booking_get_next_studygroup($type, $studygroups) {
|
||||
|
||||
$count = count($studygroups) - 1;
|
||||
|
||||
for ($i = 0; $i < $count; $i++)
|
||||
{
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
$group = $studygroups[$i];
|
||||
$leader = $group->leader_nid;
|
||||
//watchdog('booking_debug', "<pre>Study Group Element at index $i:\n@info</pre>", array('@info' => print_r( $group, true)));
|
||||
//watchdog('booking_debug', "<pre>Study Group Leader NID at index $i:\n@info</pre>", array('@info' => var_dump($group)));
|
||||
|
||||
if ($leader == 0)
|
||||
{
|
||||
if ($leader == 0) {
|
||||
return $i;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -101,9 +95,7 @@ function _booking_studygroups_retrieve_eligible_people() {
|
||||
$bookedin_result = $query->execute();
|
||||
|
||||
//iterate over the attendee associative array and add some fields
|
||||
foreach ($bookedin_result as $person)
|
||||
{
|
||||
|
||||
foreach ($bookedin_result as $person) {
|
||||
$person->processed = 0;
|
||||
$person->leading = array();
|
||||
$person->helping = array();
|
||||
@@ -124,9 +116,7 @@ function _booking_studygroups_retrieve_eligible_people() {
|
||||
array(':eid' => $event->eid));
|
||||
|
||||
//iterate over the attendee associative array and add some fields
|
||||
foreach ($result2 as $person)
|
||||
{
|
||||
|
||||
foreach ($result2 as $person){
|
||||
$person->processed = 0;
|
||||
$person->leading = array();
|
||||
$person->helping = array();
|
||||
@@ -156,11 +146,9 @@ function _booking_studygroups_retrieve_groups() {
|
||||
//assume they all have the same number of sessions
|
||||
//$num_sessions = $studygroup->booking_num_group_sessions;
|
||||
|
||||
foreach ($group_mapping as $group)
|
||||
{
|
||||
foreach ($group_mapping as $group) {
|
||||
//watchdog('booking_debug', "<pre>Study Group Element:\n@info</pre>", array('@info' => print_r( $group, true)));
|
||||
for ($i = 1; $i <= 16; $i++)
|
||||
{
|
||||
for ($i = 1; $i <= 16; $i++) {
|
||||
$new_group = clone $group;
|
||||
|
||||
$new_group->session_id = $i;
|
||||
@@ -278,8 +266,8 @@ function booking_studygroup_leadhelp_edit_form($node, &$form_state, $group_id) {
|
||||
//create an array representing the existing leaders/helpers for this group
|
||||
$existing_leaders = array();
|
||||
foreach ($session_members as $person) {
|
||||
$existing_leaders[$person->booking_session_id][$person->booking_studygroup_role] = $person->booking_lastname
|
||||
. ', ' . $person->booking_firstname . ' [' . $person->booking_node_id . ']';
|
||||
$existing_leaders[$person->booking_session_id][$person->booking_studygroup_role] =
|
||||
$person->booking_lastname . ', ' . $person->booking_firstname . ' [' . $person->booking_node_id . ']';
|
||||
}
|
||||
|
||||
//create the rows for the individual sessions (instances really) of this study group
|
||||
@@ -318,29 +306,47 @@ function booking_studygroup_leadhelp_edit_form($node, &$form_state, $group_id) {
|
||||
'#autocomplete_path' => 'booking/studygroups/autocomplete',
|
||||
'#value' => (!empty($existing_leaders[$i][3])) ? $existing_leaders[$i][3] : '',
|
||||
'#attributes' => array('style' => array('width:200px')),
|
||||
);
|
||||
);
|
||||
|
||||
$reservehelper = array (
|
||||
'#id' => 'booking-studygroup-reservehelper-' . $i,
|
||||
'#type' => 'textfield',
|
||||
'#title' => 'Name',
|
||||
'#title_display' => 'invisible',
|
||||
'#name' => 'booking_studygroup_reservehelper[' . $i . ']',
|
||||
'#size' => 100,
|
||||
'#autocomplete_path' => 'booking/studygroups/autocomplete',
|
||||
'#value' => (!empty($existing_leaders[$i][4])) ? $existing_leaders[$i][4] : '',
|
||||
'#attributes' => array('style' => array('width:200px')),
|
||||
);
|
||||
|
||||
$form['studygroups'][$i] = array(
|
||||
'booking-studygroup-leader' => &$leader,
|
||||
'booking-studygroup-helper' => &$helper,
|
||||
'booking-studygroup-reserveleader' => &$reserveleader,
|
||||
'booking-studygroup-reservehelper' => &$reservehelper,
|
||||
);
|
||||
|
||||
$new_row = array();
|
||||
//handle readings group differently
|
||||
if ($studygroup->booking_is_readinggroup == 'Y') {
|
||||
$new_row['sid'] = _booking_readinggroup_colour_lookup($i);
|
||||
}
|
||||
//non readings groups just show the session ID
|
||||
else {
|
||||
$new_row['sid'] = $i;
|
||||
}
|
||||
$new_row['booking_studygroup_leader'] = array('data' => &$leader);
|
||||
$new_row['booking_studygroup_helper'] = array('data' => &$helper);
|
||||
$new_row['booking_studygroup_reserveleader'] = array('data' => &$reserveleader);
|
||||
$new_row['booking_studygroup_reservehelper'] = array('data' => &$reservehelper);
|
||||
$form['studygroups']['#rows'][$i] = $new_row;
|
||||
|
||||
|
||||
//clean up references
|
||||
unset($leader);
|
||||
unset($helper);
|
||||
unset($reserveleader);
|
||||
unset($reservehelper);
|
||||
}
|
||||
|
||||
//record whether this was a reading group, so we can update colours if necessary
|
||||
@@ -376,6 +382,7 @@ function booking_studygroup_leadhelp_edit_form_submit($form, &$form_state) {
|
||||
'booking_studygroup_leader' => 1,
|
||||
'booking_studygroup_helper' => 2,
|
||||
'booking_studygroup_reserveleader' => 3,
|
||||
'booking_studygroup_reservehelper' => 4,
|
||||
);
|
||||
|
||||
//iterate over the different role types
|
||||
|
@@ -23,6 +23,7 @@ function booking_available_leadhelp_select_form($node, &$form_state, $group_id)
|
||||
1 => "leader-row",
|
||||
2 => "helper-row",
|
||||
3 => "reserveleader-row",
|
||||
4 => "reservehelper-row",
|
||||
);
|
||||
|
||||
//verify that $group_id is a number
|
||||
@@ -126,8 +127,7 @@ function booking_available_leadhelp_select_form($node, &$form_state, $group_id)
|
||||
$assigned_role = $role;
|
||||
$session_id = $group->booking_session_id;
|
||||
//list any role for this current group
|
||||
if ($role > 0)
|
||||
{
|
||||
if ($role > 0) {
|
||||
$text = _booking_studygroup_role_lookup($role);
|
||||
$role_listing .= "<b>" . $text . "</b> group " . $group->booking_studygroup_id . " #" . $group->booking_session_id . "; ";
|
||||
$class = $class_array[$role];
|
||||
@@ -400,8 +400,7 @@ function booking_studygroups_edit_form($node, &$form_state, $nid) {
|
||||
//retrieve the number of study group sessions, assume they all have the same number of sessions
|
||||
$num_sessions = reset($studygroups)->booking_num_group_sessions;
|
||||
//create the array for our html select fields
|
||||
for ($i = 1; $i <= $num_sessions; $i++)
|
||||
{
|
||||
for ($i = 1; $i <= $num_sessions; $i++) {
|
||||
$session_options[$i] = $i;
|
||||
$readinggroup_options[$i] = _booking_readinggroup_colour_lookup($i);
|
||||
}
|
||||
|
@@ -38,7 +38,6 @@ function booking_studygroups_admin() {
|
||||
$output .= theme('table', array('header' => $header, 'rows' => $rows, 'attributes' => $attributes));
|
||||
|
||||
return $output;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -175,7 +174,9 @@ function booking_studygroups_define_form($node, &$form_state, $create, $editid =
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Process addition/update/delete of a studygroup definition
|
||||
*/
|
||||
function booking_studygroups_define_form_submit($form, &$form_state) {
|
||||
|
||||
global $event;
|
||||
|
Reference in New Issue
Block a user