Further tweaks for reading groups
This commit is contained in:
@@ -492,6 +492,8 @@ function booking_csv_report() {
|
|||||||
$nullToMysqlNull = true;
|
$nullToMysqlNull = true;
|
||||||
$delimiter_esc = preg_quote($delimiter, '/');
|
$delimiter_esc = preg_quote($delimiter, '/');
|
||||||
$enclosure_esc = preg_quote($enclosure, '/');
|
$enclosure_esc = preg_quote($enclosure, '/');
|
||||||
|
|
||||||
|
$readinggroup = "session" . variable_get('booking_readinggroup_id','7');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
$fields_to_skip = array('booking_payment_id', 'booking_event_id', 'booking_skills_childminding', 'booking_passport_issue_date',
|
$fields_to_skip = array('booking_payment_id', 'booking_event_id', 'booking_skills_childminding', 'booking_passport_issue_date',
|
||||||
@@ -619,7 +621,13 @@ function booking_csv_report() {
|
|||||||
if ($key == 'booking_room_bedtype') {
|
if ($key == 'booking_room_bedtype') {
|
||||||
$output[] = _booking_room_bedtype_lookup($value);
|
$output[] = _booking_room_bedtype_lookup($value);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//reading group team colour
|
||||||
|
if ($key == $readinggroup) {
|
||||||
|
$output[] = _booking_readinggroup_colour_lookup($value);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
//add in the amount owing using the nid as the key
|
//add in the amount owing using the nid as the key
|
||||||
if ($key == 'nid')
|
if ($key == 'nid')
|
||||||
|
@@ -101,6 +101,7 @@ function booking_available_leadhelp_select_form($node, &$form_state, $group_id)
|
|||||||
'booking_assign_helper_session' => array('data' => t('Helper Session')),
|
'booking_assign_helper_session' => array('data' => t('Helper Session')),
|
||||||
'booking_assign_reserveleader_session' => array('data' => t('Reserve Leader Session')),
|
'booking_assign_reserveleader_session' => array('data' => t('Reserve Leader Session')),
|
||||||
'booking_currently_leadhelp' => array('data' => t('Currently leading/helping')),
|
'booking_currently_leadhelp' => array('data' => t('Currently leading/helping')),
|
||||||
|
'booking_group_edit' => array('data' => t('Edit')),
|
||||||
);
|
);
|
||||||
|
|
||||||
$query = db_select('booking_person', 'p');
|
$query = db_select('booking_person', 'p');
|
||||||
@@ -113,11 +114,12 @@ function booking_available_leadhelp_select_form($node, &$form_state, $group_id)
|
|||||||
//also restrict to males from the current event
|
//also restrict to males from the current event
|
||||||
$db_and = db_and();
|
$db_and = db_and();
|
||||||
$db_and->condition('p.booking_event_id', $event->eid, '=');
|
$db_and->condition('p.booking_event_id', $event->eid, '=');
|
||||||
$db_and->condition('p.booking_gender', 'M', '=');
|
//$db_and->condition('p.booking_gender', 'M', '=');
|
||||||
$db_and->condition($db_or);
|
$db_and->condition($db_or);
|
||||||
|
|
||||||
$query->condition($db_and);
|
$query->condition($db_and);
|
||||||
$query->fields('p');
|
$query->fields('p');
|
||||||
|
//$query->groupBy('booking_gender');
|
||||||
$table_sort = $query->extend('TableSort')->orderbyHeader($header);
|
$table_sort = $query->extend('TableSort')->orderbyHeader($header);
|
||||||
$result = $table_sort->execute();
|
$result = $table_sort->execute();
|
||||||
|
|
||||||
@@ -174,7 +176,8 @@ function booking_available_leadhelp_select_form($node, &$form_state, $group_id)
|
|||||||
'#value' => $assigned_role == 3 ? $session_id : 0,
|
'#value' => $assigned_role == 3 ? $session_id : 0,
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'booking_currently_leadhelp' => $role_listing,
|
'booking_currently_leadhelp' => $role_listing,
|
||||||
|
'booking_group_edit' => l(t('Edit'), t('admin/booking/!id/edit-studygroup', array('!id' => $data->nid))),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -384,9 +387,11 @@ function booking_studygroups_edit_form($node, &$form_state, $nid) {
|
|||||||
|
|
||||||
//see http://www.jaypan.com/blog/themeing-drupal-7-forms-tables-checkboxes-or-radios
|
//see http://www.jaypan.com/blog/themeing-drupal-7-forms-tables-checkboxes-or-radios
|
||||||
$form = array ();
|
$form = array ();
|
||||||
$options = array ();
|
$rows = array ();
|
||||||
$session_options = array();
|
$session_options = array();
|
||||||
|
$readinggroup_options = array();
|
||||||
$session_options[0] = '';
|
$session_options[0] = '';
|
||||||
|
$readinggroup_options[0] = '';
|
||||||
|
|
||||||
//verify that $nid is a number
|
//verify that $nid is a number
|
||||||
if (! preg_match('/^[0-9]+$/', $nid)) {
|
if (! preg_match('/^[0-9]+$/', $nid)) {
|
||||||
@@ -426,9 +431,10 @@ function booking_studygroups_edit_form($node, &$form_state, $nid) {
|
|||||||
for ($i = 1; $i <= $num_sessions; $i++)
|
for ($i = 1; $i <= $num_sessions; $i++)
|
||||||
{
|
{
|
||||||
$session_options[$i] = $i;
|
$session_options[$i] = $i;
|
||||||
|
$readinggroup_options[$i] = _booking_readinggroup_colour_lookup($i);
|
||||||
}
|
}
|
||||||
|
|
||||||
$session_options['Remove'] = 'Remove';
|
$session_options['Remove'] = 'Remove';
|
||||||
|
$readinggroup_options['Remove'] = 'Remove';
|
||||||
|
|
||||||
//select any entries already in the mapping table
|
//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_query = db_query("SELECT * FROM {booking_studygroup_mapping} WHERE booking_eventid = :eid", array(':eid' => $event->eid));
|
||||||
@@ -465,12 +471,21 @@ function booking_studygroups_edit_form($node, &$form_state, $nid) {
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
$options[] = array (
|
if ($group->sid == variable_get('booking_readinggroup_id','7'))
|
||||||
|
{
|
||||||
|
$options = $readinggroup_options;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$options = $session_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
$rows[] = array (
|
||||||
'booking_studygroup_descrip' => $group->booking_studygroup_descrip,
|
'booking_studygroup_descrip' => $group->booking_studygroup_descrip,
|
||||||
'booking_current_session_id' => $default == '' ? 'Not Set' : $role . $default,
|
'booking_current_session_id' => $default == '' ? 'Not Set' : $role . $default,
|
||||||
'booking_session_id' => array('data' => array(
|
'booking_session_id' => array('data' => array(
|
||||||
'#type' => 'select',
|
'#type' => 'select',
|
||||||
'#options' => $session_options,
|
'#options' => $options,
|
||||||
'#value' => $default,
|
'#value' => $default,
|
||||||
'#name' => 'booking_assign_sessionid[' . $group->sid . ']',
|
'#name' => 'booking_assign_sessionid[' . $group->sid . ']',
|
||||||
)
|
)
|
||||||
@@ -489,7 +504,7 @@ function booking_studygroups_edit_form($node, &$form_state, $nid) {
|
|||||||
$form['table'] = array (
|
$form['table'] = array (
|
||||||
'#type' => 'tableselect',
|
'#type' => 'tableselect',
|
||||||
'#header' => $header,
|
'#header' => $header,
|
||||||
'#options' => $options,
|
'#options' => $rows,
|
||||||
);
|
);
|
||||||
$form['submit'] = array (
|
$form['submit'] = array (
|
||||||
'#type' => 'submit',
|
'#type' => 'submit',
|
||||||
@@ -1065,16 +1080,19 @@ function booking_studygroups_update() {
|
|||||||
//search for the leaders helpers, spouses and boyfriend/girlfriend for this study group to pre-allocate
|
//search for the leaders helpers, spouses and boyfriend/girlfriend for this study group to pre-allocate
|
||||||
foreach ($group_mapping as $person)
|
foreach ($group_mapping as $person)
|
||||||
{
|
{
|
||||||
//get any potential spouse or boyfriend/girlfriend
|
//dereference a bunch of fields we'll be using
|
||||||
|
$committee_flag = $working_list[$person->booking_node_id]->booking_committee_member;
|
||||||
$spouse_id = $working_list[$person->booking_node_id]->booking_partner_id;
|
$spouse_id = $working_list[$person->booking_node_id]->booking_partner_id;
|
||||||
$bf_gf_id = $working_list[$person->booking_node_id]->booking_bf_gf_nid;
|
$bf_gf_id = $working_list[$person->booking_node_id]->booking_bf_gf_nid;
|
||||||
$gender = $working_list[$person->booking_node_id]->booking_gender == 'M' ? 'male' : 'female';
|
$gender = $working_list[$person->booking_node_id]->booking_gender == 'M' ? 'male' : 'female';
|
||||||
$session_id = $person->booking_session_id;
|
$session_id = $person->booking_session_id;
|
||||||
|
|
||||||
//if the study group id matches the group we're currently looking at, and they have a role defined
|
//if the study group id matches the group we're currently looking at, and they have a role defined
|
||||||
if ($person->booking_studygroup_id == $group->sid && $person->booking_studygroup_role > 0)
|
//or if the group id matches, they are a committee member and this is the readings group
|
||||||
|
if (($person->booking_studygroup_id == $group->sid && $person->booking_studygroup_role > 0) ||
|
||||||
|
($person->booking_studygroup_id == $group->sid && $committee_flag == 'Y' && $group->sid == variable_get('booking_readinggroup_id','7')))
|
||||||
{
|
{
|
||||||
drupal_set_message(t('Leader/helper with id !id assigned to session !session (currently with !num people).',
|
drupal_set_message(t('Leader/helper/committee with id !id assigned to session !session (currently with !num people).',
|
||||||
array('!id' => $person->booking_node_id, '!session' => $person->booking_session_id,
|
array('!id' => $person->booking_node_id, '!session' => $person->booking_session_id,
|
||||||
'!num' => $session_count[$person->booking_session_id]['total'])
|
'!num' => $session_count[$person->booking_session_id]['total'])
|
||||||
));
|
));
|
||||||
|
Reference in New Issue
Block a user