From 716742a32ca4bedd776df2f0bc3d7f77828e73eb Mon Sep 17 00:00:00 2001
From: Nathan Coad
Date: Sat, 16 May 2015 13:08:03 +1000
Subject: [PATCH] Move email forms to email include instead of admin include
---
booking.admin.inc | 210 -------------------------------------------
booking.emails.inc | 211 +++++++++++++++++++++++++++++++++++++++++++-
booking.reports.inc | 16 ++--
3 files changed, 218 insertions(+), 219 deletions(-)
diff --git a/booking.admin.inc b/booking.admin.inc
index b09a901..2cfc782 100644
--- a/booking.admin.inc
+++ b/booking.admin.inc
@@ -399,213 +399,3 @@ drupal_set_message( t('Conference date range: "!date"', array ('!date' => _date_
*/
}
-
-
-function booking_manual_email()
-{
- global $event;
- //see http://www.jaypan.com/blog/themeing-drupal-7-forms-tables-checkboxes-or-radios
- $form = array ();
- $options = array ();
- $group_text = "";
- $prefix = t("Send a manual email to people registered for this event.
");
- $email_options_array = array();
- $email_options_array['registration'] = 'Registration Successful Email';
- $email_options_array['balance'] = 'Balance Outstanding Email';
- $email_options_array['complete'] = 'Payment Complete Email';
- $email_options_array['withdrawal'] = 'Withdrawal Processed Email';
- $email_options_array['missedpayment'] = 'Missed Payment Email';
- $email_options_array['travelrequired'] = 'Travel Form Required Email';
- $email_options_array['travelcomplete'] = 'Travel Form Complete Email';
-
- //add in the custom email types
- for ($i = 1; $i <= variable_get('booking_custom_email_count','5'); $i++)
- {
- $email_options_array['custom' . $i] = variable_get('booking_email_subject_custom' . $i, $event->booking_eventname . ' custom ' . $i);
- }
-
- $form['email-type'] = array(
- '#type' => 'select',
- '#title' => t('Email Type'),
- '#required' => TRUE,
- '#default_value' => '',
- '#options' => $email_options_array,
- );
-
- /*
- $header = array (
- 'booking_nid' => array('data' => t('Booking ID')),
- 'booking_name' => array('data' => t('Name')),
- 'booking_email' => array('data' => t('Email Address')),
- 'amount_paid' => array('data' => t('Amount Paid To Date')),
- 'amount_reqd' => array('data' => t('Gross Payment Required')),
- 'booking_status' => t('Status'),
- 'booking_fully_paid' => t('Fully Paid?'),
- 'welfare_required' => t('Welfare Required?'),
- );
- */
-
- $header = array(
- 'booking_nid' => array('data' => t('Id'), 'field' => 'nid', 'sort' => 'asc'),
- 'booking_name' => array('data' => t('Name'), 'field' => 'booking_lastname'),
- 'booking_gender' => array('data' => t('Gender'), 'field' => 'booking_gender'),
- 'booking_email' => array('data' => t('Email'), 'field' => 'booking_email'),
- 'booking_state' => array('data' => t('State'), 'field' => 'booking_state'),
- 'booking_status' => array('data' => t('Status'), 'field' => 'booking_status'),
- 'amount_paid' => array('data' => t('Payment To Date'), 'field' => 'booking_amount_paid'),
- 'amount_reqd' => array('data' => t('Total Payment Required'), 'field' => 'booking_total_pay_reqd'),
- 'booking_fully_paid' => array('data' => t('Fully paid?'), 'field' => 'booking_payment_complete'),
- 'welfare_required' => array('data' => t('Welfare Required?'), 'field' => 'booking_welfare_required'),
- 'travel_form' => array('data' => t('Travel Submitted?'), 'field' => 'tid'),
- );
-
- if (variable_get('booking_enable_studygroups', 0) == 1)
- {
- //select entries from the study groups 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');
- $header['group_roles'] = array('data' => t('Group Role'));
- }
-
- $query = db_select('booking_person', 'p');
- $query->join('booking_price', 'pr', 'pr.pid = p.booking_payment_id');
- $query->leftJoin('booking_travel', 't', 'p.nid = t.booking_person_nid');
-
- $query->fields('p')
- ->fields('pr', array('booking_price', 'booking_late_price'))
- ->fields('t')
- ->condition('p.booking_event_id', $event->eid, '=');
-
- $table_sort = $query->extend('TableSort')->orderbyHeader($header);
- $result = $table_sort->execute();
-
- //$result = db_query("SELECT * FROM {booking_person} WHERE booking_event_id = :eid",
- // array(':eid' => $event->eid));
-
- foreach($result as $data)
- {
- $group_text = "";
- //$paid = _booking_amount_owing($data);
- //$paid = _booking_amount_owing($data->nid);
- $options[$data->nid] = array (
- 'booking_nid' => l(t('!id', array('!id' => $data->nid)), t('node/!id', array('!id' => $data->nid))),
- 'booking_name' => $data->booking_firstname . " " . $data->booking_lastname,
- 'booking_gender' => $data->booking_gender == 'M' ? 'Male' : 'Female',
- 'booking_email' => $data->booking_email,
- 'booking_state' => $data->booking_state,
- 'booking_status' => _booking_status_generate($data->booking_status),
- 'amount_paid' => $data->booking_amount_paid,
- 'amount_reqd' => $data->booking_total_pay_reqd,
- 'booking_fully_paid' => $data->booking_payment_complete == 'Y' ? 'Yes' : 'No',
- 'welfare_required' => $data->booking_welfare_required == 'Y' ? 'Yes' : 'No',
- 'travel_form' => $data->tid > 0 ? 'Yes' : 'No',
- );
-
- if (variable_get('booking_enable_studygroups', 0) == 1)
- {
- foreach ($group_mapping as $group)
- {
- $role = $group->booking_studygroup_role;
-
- if ($group->booking_node_id == $data->nid && $role > 0)
- {
- $text = _booking_studygroup_role_lookup($role);
- $group_text .= "" . $text . " group " . $group->booking_studygroup_id . " #" . $group->booking_session_id . "; ";
- }
- }
- $options[$data->nid]['group_roles'] = $group_text;
- }
-
- //$values[$data->nid] = ($paid == 0 || $data->booking_status != 1) ? FALSE : TRUE;
- }
-
- $form['table'] = array (
- '#type' => 'tableselect',
- '#header' => $header,
- '#options' => $options,
- //'#default_value' => $values,
- '#empty' => t('No attendees found.'),
- '#attributes' => array('id' => 'sort-table'),
- );
-
- $form['submit'] = array (
- '#type' => 'submit',
- '#value' => t('Send Email'),
- );
-
- return array (
- 'first_para' => array (
- '#type' => 'markup',
- '#markup' => $prefix,
- ),
- 'form' => $form,
- );
-}
-
-function booking_manual_email_submit($form, &$form_state) {
- $counter = 0;
- $checkboxes = $form_state['values']['table']; //$values['booking_price_active'];
- //watchdog('booking', 'Formstate when setting buttons: @info', array ('@info' => var_export($form_state['values'], TRUE)));
- //watchdog('booking', 'Checkboxes when setting buttons: @info', array ('@info' => var_export($checkboxes, TRUE)));
-
- foreach($checkboxes as $key => $value)
- {
- if (is_numeric($key) && $value != 0)
- {
- //check if they exist in the database first
- $person = db_query("SELECT person.nid " .
- "FROM {booking_person} person " .
- "WHERE nid = :nid",
- array(':nid' => $key))
- ->fetchObject();
-
- if ($person)
- {
- if ($form_state['values']['email-type'] == 'registration')
- {
- watchdog('booking', 'Processing a manual registration email to id @info', array ('@info' => $key));
- _booking_registration_email($key, false, true);
- }
- elseif ($form_state['values']['email-type'] == 'travelrequired')
- {
- watchdog('booking', 'Processing a manual travel form request email to id @info', array ('@info' => $key));
- _booking_travelform_request_email($key);
- }
- elseif ($form_state['values']['email-type'] == 'balance')
- {
- watchdog('booking', 'Processing a manual outstanding balance email to id @info', array ('@info' => $key));
- _booking_balance_payment_email($key);
- }
- elseif ($form_state['values']['email-type'] == 'complete')
- {
- watchdog('booking', 'Processing a manual registration complete email to id @info', array ('@info' => $key));
- _booking_registration_email($key, true, true);
- }
- elseif ($form_state['values']['email-type'] == 'travelcomplete')
- {
- watchdog('booking', 'Processing a manual travelform complete email to id @info', array ('@info' => $key));
- _booking_travelform_confirmation_email($key);
- }
- elseif ($form_state['values']['email-type'] == 'withdrawal')
- {
- watchdog('booking', 'Processing a manual withdrawal email to id @info', array ('@info' => $key));
- _booking_demoted_to_notcoming_email($key);
- }
- elseif ($form_state['values']['email-type'] == 'missedpayment')
- {
- watchdog('booking', 'Processing a manual missedpayment email to id @info', array ('@info' => $key));
- _booking_missedpayment_email($key);
- }
- elseif (strpos($form_state['values']['email-type'], 'custom') !== false)
- {
- watchdog('booking', 'Processing a @custom type email to id @info', array ('@custom' => $form_state['values']['email-type'], '@info' => $key));
- _booking_custom_email($key, $form_state['values']['email-type']);
- }
- //increase the counter of people we've emailed
- $counter++;
- }
- }
- }
- drupal_set_message("Sent manual email for $counter people.", 'status', FALSE);
- //watchdog('booking', "Sent manual email for $counter people.");
-}
\ No newline at end of file
diff --git a/booking.emails.inc b/booking.emails.inc
index 99f9690..2ca15a6 100644
--- a/booking.emails.inc
+++ b/booking.emails.inc
@@ -1,5 +1,214 @@
Send a manual email to people registered for this event.
");
+ $email_options_array = array();
+ $email_options_array['registration'] = 'Registration Successful Email';
+ $email_options_array['balance'] = 'Balance Outstanding Email';
+ $email_options_array['complete'] = 'Payment Complete Email';
+ $email_options_array['withdrawal'] = 'Withdrawal Processed Email';
+ $email_options_array['missedpayment'] = 'Missed Payment Email';
+ $email_options_array['travelrequired'] = 'Travel Form Required Email';
+ $email_options_array['travelcomplete'] = 'Travel Form Complete Email';
+
+ //add in the custom email types
+ for ($i = 1; $i <= variable_get('booking_custom_email_count','5'); $i++)
+ {
+ $email_options_array['custom' . $i] = variable_get('booking_email_subject_custom' . $i, $event->booking_eventname . ' custom ' . $i);
+ }
+
+ $form['email-type'] = array(
+ '#type' => 'select',
+ '#title' => t('Email Type'),
+ '#required' => TRUE,
+ '#default_value' => '',
+ '#options' => $email_options_array,
+ );
+
+ /*
+ $header = array (
+ 'booking_nid' => array('data' => t('Booking ID')),
+ 'booking_name' => array('data' => t('Name')),
+ 'booking_email' => array('data' => t('Email Address')),
+ 'amount_paid' => array('data' => t('Amount Paid To Date')),
+ 'amount_reqd' => array('data' => t('Gross Payment Required')),
+ 'booking_status' => t('Status'),
+ 'booking_fully_paid' => t('Fully Paid?'),
+ 'welfare_required' => t('Welfare Required?'),
+ );
+ */
+
+ $header = array(
+ 'booking_nid' => array('data' => t('Id'), 'field' => 'nid', 'sort' => 'asc'),
+ 'booking_name' => array('data' => t('Name'), 'field' => 'booking_lastname'),
+ 'booking_gender' => array('data' => t('Gender'), 'field' => 'booking_gender'),
+ 'booking_email' => array('data' => t('Email'), 'field' => 'booking_email'),
+ 'booking_state' => array('data' => t('State'), 'field' => 'booking_state'),
+ 'booking_status' => array('data' => t('Status'), 'field' => 'booking_status'),
+ 'amount_paid' => array('data' => t('Payment To Date'), 'field' => 'booking_amount_paid'),
+ 'amount_reqd' => array('data' => t('Total Payment Required'), 'field' => 'booking_total_pay_reqd'),
+ 'booking_fully_paid' => array('data' => t('Fully paid?'), 'field' => 'booking_payment_complete'),
+ 'welfare_required' => array('data' => t('Welfare Required?'), 'field' => 'booking_welfare_required'),
+ 'travel_form' => array('data' => t('Travel Submitted?'), 'field' => 'tid'),
+ );
+
+ if (variable_get('booking_enable_studygroups', 0) == 1)
+ {
+ //select entries from the study groups 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');
+ $header['group_roles'] = array('data' => t('Group Role'));
+ }
+
+ $query = db_select('booking_person', 'p');
+ $query->join('booking_price', 'pr', 'pr.pid = p.booking_payment_id');
+ $query->leftJoin('booking_travel', 't', 'p.nid = t.booking_person_nid');
+
+ $query->fields('p')
+ ->fields('pr', array('booking_price', 'booking_late_price'))
+ ->fields('t')
+ ->condition('p.booking_event_id', $event->eid, '=');
+
+ $table_sort = $query->extend('TableSort')->orderbyHeader($header);
+ $result = $table_sort->execute();
+
+ //$result = db_query("SELECT * FROM {booking_person} WHERE booking_event_id = :eid",
+ // array(':eid' => $event->eid));
+
+ foreach($result as $data)
+ {
+ $group_text = "";
+ //$paid = _booking_amount_owing($data);
+ //$paid = _booking_amount_owing($data->nid);
+ $options[$data->nid] = array (
+ 'booking_nid' => l(t('!id', array('!id' => $data->nid)), t('node/!id', array('!id' => $data->nid))),
+ 'booking_name' => $data->booking_firstname . " " . $data->booking_lastname,
+ 'booking_gender' => $data->booking_gender == 'M' ? 'Male' : 'Female',
+ 'booking_email' => $data->booking_email,
+ 'booking_state' => $data->booking_state,
+ 'booking_status' => _booking_status_generate($data->booking_status),
+ 'amount_paid' => $data->booking_amount_paid,
+ 'amount_reqd' => $data->booking_total_pay_reqd,
+ 'booking_fully_paid' => $data->booking_payment_complete == 'Y' ? 'Yes' : 'No',
+ 'welfare_required' => $data->booking_welfare_required == 'Y' ? 'Yes' : 'No',
+ 'travel_form' => $data->tid > 0 ? 'Yes' : 'No',
+ );
+
+ if (variable_get('booking_enable_studygroups', 0) == 1)
+ {
+ foreach ($group_mapping as $group)
+ {
+ $role = $group->booking_studygroup_role;
+
+ if ($group->booking_node_id == $data->nid && $role > 0)
+ {
+ $text = _booking_studygroup_role_lookup($role);
+ $group_text .= "" . $text . " group " . $group->booking_studygroup_id . " #" . $group->booking_session_id . "; ";
+ }
+ }
+ $options[$data->nid]['group_roles'] = $group_text;
+ }
+
+ //$values[$data->nid] = ($paid == 0 || $data->booking_status != 1) ? FALSE : TRUE;
+ }
+
+ $form['table'] = array (
+ '#type' => 'tableselect',
+ '#header' => $header,
+ '#options' => $options,
+ //'#default_value' => $values,
+ '#empty' => t('No attendees found.'),
+ '#attributes' => array('id' => 'sort-table'),
+ );
+
+ $form['submit'] = array (
+ '#type' => 'submit',
+ '#value' => t('Send Email'),
+ );
+
+ return array (
+ 'first_para' => array (
+ '#type' => 'markup',
+ '#markup' => $prefix,
+ ),
+ 'form' => $form,
+ );
+}
+
+function booking_manual_email_submit($form, &$form_state) {
+ $counter = 0;
+ $checkboxes = $form_state['values']['table']; //$values['booking_price_active'];
+ //watchdog('booking', 'Formstate when setting buttons: @info', array ('@info' => var_export($form_state['values'], TRUE)));
+ //watchdog('booking', 'Checkboxes when setting buttons: @info', array ('@info' => var_export($checkboxes, TRUE)));
+
+ foreach($checkboxes as $key => $value)
+ {
+ if (is_numeric($key) && $value != 0)
+ {
+ //check if they exist in the database first
+ $person = db_query("SELECT person.nid " .
+ "FROM {booking_person} person " .
+ "WHERE nid = :nid",
+ array(':nid' => $key))
+ ->fetchObject();
+
+ if ($person)
+ {
+ if ($form_state['values']['email-type'] == 'registration')
+ {
+ watchdog('booking', 'Processing a manual registration email to id @info', array ('@info' => $key));
+ _booking_registration_email($key, false, true);
+ }
+ elseif ($form_state['values']['email-type'] == 'travelrequired')
+ {
+ watchdog('booking', 'Processing a manual travel form request email to id @info', array ('@info' => $key));
+ _booking_travelform_request_email($key);
+ }
+ elseif ($form_state['values']['email-type'] == 'balance')
+ {
+ watchdog('booking', 'Processing a manual outstanding balance email to id @info', array ('@info' => $key));
+ _booking_balance_payment_email($key);
+ }
+ elseif ($form_state['values']['email-type'] == 'complete')
+ {
+ watchdog('booking', 'Processing a manual registration complete email to id @info', array ('@info' => $key));
+ _booking_registration_email($key, true, true);
+ }
+ elseif ($form_state['values']['email-type'] == 'travelcomplete')
+ {
+ watchdog('booking', 'Processing a manual travelform complete email to id @info', array ('@info' => $key));
+ _booking_travelform_confirmation_email($key);
+ }
+ elseif ($form_state['values']['email-type'] == 'withdrawal')
+ {
+ watchdog('booking', 'Processing a manual withdrawal email to id @info', array ('@info' => $key));
+ _booking_demoted_to_notcoming_email($key);
+ }
+ elseif ($form_state['values']['email-type'] == 'missedpayment')
+ {
+ watchdog('booking', 'Processing a manual missedpayment email to id @info', array ('@info' => $key));
+ _booking_missedpayment_email($key);
+ }
+ elseif (strpos($form_state['values']['email-type'], 'custom') !== false)
+ {
+ watchdog('booking', 'Processing a @custom type email to id @info', array ('@custom' => $form_state['values']['email-type'], '@info' => $key));
+ _booking_custom_email($key, $form_state['values']['email-type']);
+ }
+ //increase the counter of people we've emailed
+ $counter++;
+ }
+ }
+ }
+ drupal_set_message("Sent manual email for $counter people.", 'status', FALSE);
+ //watchdog('booking', "Sent manual email for $counter people.");
+}
+
/**
* Function to send email to registrant after completing registration process
diff --git a/booking.reports.inc b/booking.reports.inc
index 08b71be..5ad1b24 100644
--- a/booking.reports.inc
+++ b/booking.reports.inc
@@ -223,18 +223,18 @@ function booking_report_summary() {
//output everything
$output .= t("General Statistics
");
$output .= t("Attendees booked in
");
- $output .= t("There are !boys males and !girls females currently booked in. Of these, !baptised are baptised and !married are married.
",
- array('!boys' => $male_count, '!girls' => $female_count, '!baptised' => $baptised_count, '!married' => $married_count
- ));
- $output .= t("The combined average age at the start of the week will be !average.
The male average age will be !maleaverage.
The female average age will be !femaleaverage.
",
- array('!average' => _booking_avg_age($dob_total, $male_count + $female_count, $event->booking_event_start), '!maleaverage' => _booking_avg_age($male_dob_total, $male_count, $event->booking_event_start),
- '!femaleaverage' => _booking_avg_age($female_dob_total, $female_count, $event->booking_event_start)
- ));
- $output .= t("Overall
");
$output .= t("There are !bookedin registrations currently booked in, !waiting on waiting list, !notpaid haven't paid, !hosts are hosts, " .
"and !notcoming are no longer coming, which comes to a total of !total people who have filled in the registration form. !travel people have filled in their travel form.
",
array('!bookedin' => $bookedin_counter, '!waiting' => $waiting_counter, '!notpaid' => $notpaid_counter, '!total' => $person_count, '!travel' => $travelform_count,
'!notcoming' => $notcoming_counter, '!hosts' => $hosts_counter));
+ $output .= t("There are !boys males and !girls females currently booked in. Of these, !baptised are baptised and !married are married.
",
+ array('!boys' => $male_count, '!girls' => $female_count, '!baptised' => $baptised_count, '!married' => $married_count
+ ));
+ $output .= t("Ages
");
+ $output .= t("The combined average age at the start of the week will be !average.
The male average age will be !maleaverage.
The female average age will be !femaleaverage.
",
+ array('!average' => _booking_avg_age($dob_total, $male_count + $female_count, $event->booking_event_start), '!maleaverage' => _booking_avg_age($male_dob_total, $male_count, $event->booking_event_start),
+ '!femaleaverage' => _booking_avg_age($female_dob_total, $female_count, $event->booking_event_start)
+ ));
$output .= t("Finances
");
$output .= t("There are !welfare people with special financial consideration approved, and !committee people on the committee. " .
"!fullypaid people have completed their payments.
",