Changed CSV report to include study group session data
This commit is contained in:
@@ -28,6 +28,7 @@ function booking_report_summary() {
|
||||
//as per http://www.drup-all.com/blog/table-sort-pagination-drupal-7
|
||||
$header = array(
|
||||
array('data' => t('Id'), 'field' => 'nid', 'sort' => 'asc'),
|
||||
array('data' => t('Edit Link')),
|
||||
array('data' => t('Name'), 'field' => 'booking_lastname', 'sort' => 'asc'),
|
||||
array('data' => t('Email'), 'field' => 'booking_email', 'sort' => 'asc'),
|
||||
array('data' => t('Payment To Date'), 'field' => 'booking_amount_paid', 'sort' => 'asc'),
|
||||
@@ -114,6 +115,7 @@ function booking_report_summary() {
|
||||
foreach ($result as $person) {
|
||||
$rows[] = array(
|
||||
l(t('!id', array('!id' => $person->nid)), t('node/!id', array('!id' => $person->nid))),
|
||||
l(t('!id', array('!id' => $person->nid)), t('node/!id/edit', array('!id' => $person->nid))),
|
||||
t('!first !last', array('!first' => ucwords($person->booking_firstname), '!last' => ucwords($person->booking_lastname))),
|
||||
t('!email', array('!email' => $person->booking_email)),
|
||||
t('!payment', array('!payment' => $person->booking_amount_paid)),
|
||||
@@ -369,22 +371,37 @@ function booking_csv_report() {
|
||||
$delimiter_esc = preg_quote($delimiter, '/');
|
||||
$enclosure_esc = preg_quote($enclosure, '/');
|
||||
|
||||
$fields_to_skip = array('booking_payment_id', 'booking_event_id', 'booking_tempid', 'booking_shirt_size');
|
||||
$fields_to_skip = array('booking_payment_id', 'booking_event_id', 'booking_tempid');
|
||||
|
||||
//query the db
|
||||
/*
|
||||
$query = db_select('booking_person', 'p');
|
||||
$query->join('booking_price', 'pr', 'p.booking_payment_id = pr.pid');
|
||||
$query->condition('p.booking_event_id', $event->eid)
|
||||
->fields('p')
|
||||
->fields('pr', array('booking_price', 'booking_price_descrip'));
|
||||
$result = $query->execute()->fetchAll();
|
||||
$result = $query->execute()->fetchAll();
|
||||
*/
|
||||
|
||||
$query = db_query("select distinct p.*, s1.booking_session_id as session1, s2.booking_session_id as session2, s3.booking_session_id as session3, s4.booking_session_id as session4, s5.booking_session_id as session5, s6.booking_session_id as session6 from {booking_person} p
|
||||
left outer join {booking_studygroup_mapping} s1 on p.nid = s1.booking_node_id and s1.booking_studygroup_id = 1
|
||||
left outer join {booking_studygroup_mapping} s2 on p.nid = s2.booking_node_id and s2.booking_studygroup_id = 2
|
||||
left outer join {booking_studygroup_mapping} s3 on p.nid = s3.booking_node_id and s3.booking_studygroup_id = 3
|
||||
left outer join {booking_studygroup_mapping} s4 on p.nid = s4.booking_node_id and s4.booking_studygroup_id = 4
|
||||
left outer join {booking_studygroup_mapping} s5 on p.nid = s5.booking_node_id and s5.booking_studygroup_id = 5
|
||||
left outer join {booking_studygroup_mapping} s6 on p.nid = s6.booking_node_id and s6.booking_studygroup_id = 6
|
||||
where p.booking_event_id = :eid ORDER BY p.nid", array('eid' => $event->eid));
|
||||
|
||||
$result = $query->fetchAllAssoc('nid');
|
||||
|
||||
watchdog('booking', "CSV raw data: @info", array('@info' => var_export($result, TRUE)));
|
||||
|
||||
//open the filehandle
|
||||
$handle = @fopen($filename, 'w');
|
||||
|
||||
//write the header based on the first result
|
||||
$header_array = array();
|
||||
foreach ($result[0] as $key => $value)
|
||||
foreach (reset($result) as $key => $value)
|
||||
{
|
||||
if (in_array($key, $fields_to_skip))
|
||||
continue;
|
||||
|
Reference in New Issue
Block a user