add reserve helper role to studygroups
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user