From: Chuck Scott Date: Mon, 20 Nov 2017 15:21:40 +0000 (-0500) Subject: Attendee counts added to admin registrants events dashboard. X-Git-Tag: v1.0.0^2~250 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=fb45f0986ebf16827d07bdb83beedee1aaef1f94;p=WP-Plugins%2Fglm-member-db-registrations.git Attendee counts added to admin registrants events dashboard. Added post processing option for getting attendee totals to dataRegEvent.php Added getSimpleRegEventsList() option to ask for attendee totals in events.php Added new columns for attedee totals to eventsDashboard.html --- diff --git a/classes/data/dataRegEvent.php b/classes/data/dataRegEvent.php index 73e0700..081a7bf 100644 --- a/classes/data/dataRegEvent.php +++ b/classes/data/dataRegEvent.php @@ -86,7 +86,13 @@ class GlmDataRegistrationsRegEvent extends GlmDataAbstract * @access public */ public $postProcAddedEventData = false; - + /** + * Flag to post process results to add registrant counts + * + * @var $postProcAddRegistrantsCount + * @access public + */ + public $postProcAddRegistrantsCount = false; /** * Constructor @@ -396,6 +402,24 @@ class GlmDataRegistrationsRegEvent extends GlmDataAbstract } + if ($this->postProcAddRegistrantsCount) { + + // Get sum of all attendee counts + $counts = $this->wpdb->get_row(" + SELECT SUM(attendee_max) AS total, SUM(attendee_count) AS registered, SUM(attendees_pending) AS cartHold, SUM(attendees_available) AS curAvail + FROM ".GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX."reg_time + WHERE reg_event = ".$result_data['id'] + , ARRAY_A); +echo "
".print_r($counts,1)."
"; + $result_data['total'] = $counts['total']; + $result_data['registered'] = $counts['registered']; + $result_data['cartHold'] = $counts['cartHold']; + $result_data['curAvail'] = $counts['curAvail']; + $result_data['totalAvail'] = $counts['cartHold'] + $counts['curAvail']; + + } + + return $result_data; } @@ -439,16 +463,20 @@ class GlmDataRegistrationsRegEvent extends GlmDataAbstract * @param integer $start Starting at result # * @param integer $limit Limit results to this number * @param boolean $extended Add current base data for returned events + * @param boolean $counts True to return attendee total counts * * @return array Array of Name and ID for all reg events * @access public */ - public function getSimpleRegEventsList($where = '', $order = '', $fieldVals = true, $idField = 'id', $start = false, $limit = false, $extended = false) + public function getSimpleRegEventsList($where = '', $order = '', $fieldVals = true, $idField = 'id', $start = false, $limit = false, $extended = false, $counts = false) { // Save status of extended data flag $saveExtended = $this->postProcAddedEventData; + // Ask for registrant counts + $this->postProcAddRegistrantsCount = $counts; + // If extended data is requested, then set flag for post processing if ($extended) { $this->postProcAddedEventData = true; @@ -461,7 +489,9 @@ class GlmDataRegistrationsRegEvent extends GlmDataAbstract $this->fields = array( 'id' => $fSave['id'], 'event' => $fSave['event'], - 'event_name' => $fSave['event_name'] + 'event_name' => $fSave['event_name'], + 'first_datetime' => $fSave['first_datetime'], + 'last_datetime' => $fSave['last_datetime'] ); $regEventsList = $this->getList($where, $order, $fieldVals, $idField, $start, $limit); @@ -469,6 +499,9 @@ class GlmDataRegistrationsRegEvent extends GlmDataAbstract // Restore the fields list $this->fields = $fSave; + // Turn off registrant counts + $this->postProcAddRegistrantsCount = false; + // Restore status of extended data flag $this->postProcAddedEventData = $saveExtended; @@ -785,7 +818,6 @@ class GlmDataRegistrationsRegEvent extends GlmDataAbstract } - } } diff --git a/models/admin/registrations/events.php b/models/admin/registrations/events.php index 7fbba8c..877e640 100644 --- a/models/admin/registrations/events.php +++ b/models/admin/registrations/events.php @@ -138,6 +138,10 @@ class GlmMembersAdmin_registrations_events extends GlmDataRegistrationsRegEvent $regEventID = false; } + if (GLM_MEMBERS_PLUGIN_ADMIN_DEBUG) { + trigger_error("Registration Events: Admin option = $option ", E_USER_NOTICE); + } + switch ($option) { case 'configureEvent': @@ -360,7 +364,7 @@ class GlmMembersAdmin_registrations_events extends GlmDataRegistrationsRegEvent $regEventsCount = $this->getStats($where); // Get a current list of reg events - $listResult = $this->getSimpleRegEventsList($where.$alphaWhere, 'event_name', true, 'id', $start, $limit, true); + $listResult = $this->getSimpleRegEventsList($where.$alphaWhere, 'event_name', true, 'id', $start, $limit, true, true); // Get paging results $numbDisplayed = $listResult['returned']; diff --git a/views/admin/registrations/eventsDashboard.html b/views/admin/registrations/eventsDashboard.html index e0304f6..65349ed 100644 --- a/views/admin/registrations/eventsDashboard.html +++ b/views/admin/registrations/eventsDashboard.html @@ -41,6 +41,13 @@ ID Event Name + Maximum
Attendees + Registered + Cart
Hold + Currently
Available + Total
Available + First Date + Last Date   @@ -59,6 +66,13 @@ {$r.event_name} + {$r.total} + {$r.registered} + {$r.cartHold} + {$r.curAvail} + {$r.totalAvail} + {$r.first_datetime.datetime} + {$r.last_datetime.datetime} {$r_link = apply_filters('glm_members_add_link_to_registrations_event_list_entry', $r.event)} {if is_array($r_link)}