Updating dashboards for pending events.
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 9 Aug 2017 19:48:35 +0000 (15:48 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 9 Aug 2017 19:48:35 +0000 (15:48 -0400)
List out the member name and link to their record. If there's one.
And if not logged in as member contact.

classes/data/dataEvents.php
models/admin/dashboard/events.php
models/admin/dashboard/index.php
views/admin/dashboard/events.html
views/admin/events/index.html

index ef35bd8..5216567 100644 (file)
@@ -880,8 +880,10 @@ class GlmDataEvents extends GlmDataAbstract
         $this->postCategories = false;
 
         $this->fields = array(
-            'id' => $savedFields['id'],
-            'name' => $savedFields['name']
+            'id'          => $savedFields['id'],
+            'name'        => $savedFields['name'],
+            'ref_dest'    => $savedFields['ref_dest'],
+            'ref_dest_id' => $savedFields['ref_dest_id'],
         );
 
         $r = $this->getList($where);
index a7474d0..47444eb 100644 (file)
@@ -134,7 +134,7 @@ class GlmMembersAdmin_dashboard_events extends GlmDataEvents
             }
         } else {
             $events = $this->wpdb->get_results(
-                    "SELECT E.id,E.name,E.status,E.approved,T1.start_time as start,T2.end_time as end
+                    "SELECT E.id,E.name,E.ref_dest,T1.start_time as start,T2.end_time as end
                        FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events E,
                             " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times T1,
                             " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times T2
@@ -150,8 +150,18 @@ class GlmMembersAdmin_dashboard_events extends GlmDataEvents
             );
 
             foreach ( $events as &$event ) {
-                // set the status
-                $event['status'] = $this->config['status'][$event['status']];
+                // Set the Member Name
+                if ( $memberId = filter_var( $event['ref_dest'], FILTER_VALIDATE_INT) ) {
+                    $memberName = $this->wpdb->get_var(
+                        $this->wpdb->prepare(
+                            "SELECT name
+                               FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members
+                              WHERE id = %d",
+                            $memberId
+                        )
+                    );
+                    $event['member_name'] = $memberName;
+                }
             }
         }
 
index 86902b1..0f33387 100644 (file)
@@ -88,22 +88,22 @@ class GlmMembersAdmin_events_index extends GlmDataEvents
     public function modelAction($actionData = false)
     {
 
-        $memberID = false;
+        $memberID       = false;
         $lockedToMember = false;
-        $lockedWhereT = 'true';
-        $lockedWhere = 'true';
-        $numbEvents = 0;
-        $numbPending = 0;
-        $namesList = false;
+        $lockedWhereT   = 'true';
+        $lockedWhere    = 'true';
+        $numbEvents     = 0;
+        $numbPending    = 0;
+        $namesList      = false;
         $haveCategories = false;
 
         // Check if there's a logged in user who is locked to their own entity
         $lockedToMember = apply_filters('glm_members_locked_to_member_id', false);
         if ($lockedToMember) {
-            $memberID = $lockedToMember;
+            $memberID       = $lockedToMember;
             $lockedToMember = $memberID;
-            $lockedWhereT = 'T.ref_type = '.$this->config['ref_type_numb']['Member'].' AND T.ref_dest = '.$memberID;
-            $lockedWhere = 'ref_type = '.$this->config['ref_type_numb']['Member'].' AND ref_dest = '.$memberID;
+            $lockedWhereT   = 'T.ref_type = '.$this->config['ref_type_numb']['Member'].' AND T.ref_dest = '.$memberID;
+            $lockedWhere    = 'ref_type = '.$this->config['ref_type_numb']['Member'].' AND ref_dest = '.$memberID;
         }
 
         // Check for required Event Categories
@@ -138,18 +138,18 @@ class GlmMembersAdmin_events_index extends GlmDataEvents
         // Compile template data
         $templateData = array(
             'lockedToMember' => $lockedToMember,
-            'numbEvents' => $numbEvents,
-            'pending' => $pending,
-            'namesList' => $namesList,
-            'numbPending' => $numbPending,
+            'numbEvents'     => $numbEvents,
+            'pending'        => $pending,
+            'namesList'      => $namesList,
+            'numbPending'    => $numbPending,
             'haveCategories' => $haveCategories
         );
              // Return status, any suggested view, and any data to controller
         return array(
-                'status' => true,
+                'status'        => true,
                 'modelRedirect' => false,
-                'view' => 'admin/events/index.html',
-                'data' => $templateData
+                'view'          => 'admin/events/index.html',
+                'data'          => $templateData
         );
 
     }
index 89ff8da..70b4bb7 100644 (file)
@@ -11,6 +11,7 @@
                     <thead>
                         <tr>
                             <th>Name</th>
+                            {if !$memberID}<th>Member</th>{/if}
                             <th>Start</th>
                             <th>End</th>
                             {if $memberID}<th>Status</th>
                                 {$event.name}
                     </a>
                             </td>
+                            {if !$memberID}
+                                <td>
+                                    {if $event.ref_dest}
+                                    <a href="{$thisUrl}?page=glm-members-admin-menu-member&glm_action=index&member={$event.ref_dest}">{$event.member_name}</a>
+                                    {/if}
+                                </td>
+                            {/if}
                             <td>{$event.start|date_format:"%m/%d/%Y"}</td>
                             <td>{$event.end|date_format:"%m/%d/%Y"}</td>
                             {if $memberID}<td>{$event.status}</td>
index 167eebc..b1809b0 100644 (file)
@@ -1,9 +1,9 @@
 {include file='admin/events/header.html'}
-    
+
 {if apply_filters('glm_members_permit_admin_events_index_add_event', true)}
     <a href="{$thisUrl}?page={$thisPage}&glm_action=list&option=add" class="button button-primary glm-button glm-right">Add A New Event</a>
 {/if}
-    
+
     <table class="glm-admin-table">
         <tr>
             <td colspan="2" align="">
             <th><span class="glm-error">You do not have any Events Categories setup.</span></th>
             <td><a href="{$thisUrl}?page=glm-members-admin-menu-settings&glm_action=eventCategories">Click here to add Event Categories.</a></td>
         </tr>
-  {/if}                
+  {/if}
 {/if}
-                
+
 {if $numbEvents == 0}
         <tr><td colspan="2">&nbsp;</td></tr>
         <tr>
            <th> <span class="glm-error">You do not have any events listed.</span></th>
             <td><a href="{$thisUrl}?page={$thisPage}&glm_action=list&option=add">Click here to create your first event.</a></td>
         </tr>
-{/if}                
+{/if}
     </table>
-    
+
     <table class="glm-admin-table">
         <tr><th>Number of Events Listed: </th><td>{$numbEvents}</td></tr>
         <tr><th>Number Pending: </th><td>{$numbPending}</td></tr>
 
 {if $pending}
     <h3 class="glm-error">&nbsp;<br>Events Pending Review</h3>
-    
-    <table class="wp-list-table widefat fixed posts glm-admin-table"">
+
+    <table class="wp-list-table widefat fixed posts glm-admin-table">
         <thead>
             <tr>
                 <th>Event Name</th>
+                {if !$lockedToMember}<th>{$terms.term_member_cap}</th>{/if}
             </tr>
         </thead>
         <tbody>
     {assign var="i" value="0"}
     {foreach $pending as $p}
-        {if $i++ is odd by 1} 
+        {if $i++ is odd by 1}
             <tr>
         {else}
             <tr class="alternate">
@@ -55,6 +56,7 @@
                 <td>
                     <a href="{$thisUrl}?page=glm-members-admin-menu-events-list&glm_action=list&option=edit&event={$p.id}">{$p.name}</a>
                 </td>
+                {if !$lockedToMember}<td>{if $p.ref_dest_id}<a href="{$thisUrl}?page=glm-members-admin-menu-member&glm_action=index&member={$p.ref_dest_id}}">{$p.ref_dest}</a>{/if}</td>{/if}
             </tr>
     {/foreach}
         </tbody>
 {if $namesList}
     <script type="text/javascript">
         jQuery(document).ready(function($) {
-            
+
             /*
              * Do autocomplete search for event
              * label: What will be searched
              * value: What will be displayed when selected
              * id: Member id added so we can go to the event while showing what was selected
-             * Also note that autocomplete does not properly render HTML codes, so we 
+             * Also note that autocomplete does not properly render HTML codes, so we
              * "unescape" them for HTML in Smarty.
              */
             var availableTags = [
                  html: true,
                  select: function( event, ui ) {
                      var eventID = ui.item.id;
-    {if $lockedToMember}                     
+    {if $lockedToMember}
                      window.location.replace("{$adminUrl}?page=glm-members-admin-menu-events-list&glm_action=list&option=edit&event=" + eventID );
     {else}
                      window.location.replace("{$adminUrl}?page=glm-members-admin-menu-events-index&glm_action=list&option=edit&event=" + eventID );
-    {/if}                     
+    {/if}
                  },
                  response: function(event, ui) {
                      if (!ui.content.length) {
                      }
                  }
              });
-                             
+
         });
-            
+
     </script>
 {/if}
-    
+
 {include file='admin/footer.html'}