Alpha filtering on admin list now preserved when clicking 'Next 20 members', and...
authorLaury GvR <laury@gaslightmedia.com>
Tue, 18 Apr 2017 15:53:56 +0000 (11:53 -0400)
committerLaury GvR <laury@gaslightmedia.com>
Tue, 18 Apr 2017 15:53:56 +0000 (11:53 -0400)
models/admin/members/list.php
views/admin/members/list.html

index 7d4aa79..d7c04db 100644 (file)
@@ -159,19 +159,19 @@ class GlmMembersAdmin_members_list extends GlmDataMembers
                 $categories[$k]['selected'] = false;
             }
         }
-        
+
         // Check if there is a category filter (multi-select)
         if (isset($_REQUEST['categorySearch']) && $_REQUEST['categorySearch'] > 0) {
             $catsToUse = explode(',',$_REQUEST['categorySearch']);
-        }       
+        }
         if (isset($_REQUEST['filterCategories']) && count($_REQUEST['filterCategories']) > 0) {
             $catsToUse = $_REQUEST['filterCategories'];
         }
-        
+
         if ($catsToUse && $catsToUse !== '') {
             $cats = '';
             $catsSep = '';
-            
+
             // For each selected category
             foreach($catsToUse as $c) {
                 $cats .= $catsSep.$c;
@@ -222,18 +222,22 @@ class GlmMembersAdmin_members_list extends GlmDataMembers
             $filterFeatured = true;
             $haveFilter = true;
         }
-        
+
         // If doing alpha list
         if (isset($_REQUEST['alpha'])) {
             $actionData['request']['alpha'] = $_REQUEST['alpha'];
         }
-        
+
         $alphaList = false;
         $alphaWhere = '';
 
         $alphaSelected = false;
 
-        // Check for alpha selected
+        // If user clicked a page request then we need to check the savedAlpha value
+        if (isset($_REQUEST['savedAlpha']) && isset($_REQUEST['pageSelect'])) {
+            $actionData['request']['alpha'] = $_REQUEST['savedAlpha'];
+        }
+
         if ($actionData['request']['alpha'] && strlen($actionData['request']['alpha']) == 1) {
             $alphaSelected = strtoupper($actionData['request']['alpha']);
             $alphaWhere .= " AND T.name LIKE '$alphaSelected%'";
@@ -241,11 +245,6 @@ class GlmMembersAdmin_members_list extends GlmDataMembers
 
         // Get full list for all other filters, but not filtered by alpha (that would be silly)
         $alphaList = $this->getAlphaList(' AND '.$where, $alphaSelected);
-        
-        // If user clicked a page request then we need to check the savedAlpha value
-        if (isset($_REQUEST['savedAlpha']) && isset($_REQUEST['pageSelect'])) {
-            $actionData['request']['alpha'] = $_REQUEST['savedAlpha'];
-        }
 
         $whereParts = apply_filters('glm-member-db-admin-search-query', $where);
         if ( is_array( $whereParts ) && count( $whereParts ) > 0 ) {
@@ -280,7 +279,7 @@ class GlmMembersAdmin_members_list extends GlmDataMembers
                 $start = $newStart;
             }
         }
-        
+
         // Get stats for number of members found matching current selection criteria (includes alpha selection)
         $filteredMembersFound = $this->getStats(str_replace('T.', '', $where.$alphaWhere));
 
index 874c64f..98930fd 100644 (file)
@@ -5,14 +5,15 @@
         <input type="hidden" name="prevStart" value="{$prevStart}">
         <input type="hidden" name="nextStart" value="{$nextStart}">
         <input type="hidden" name="limit" value="{$limit}">
-        
+        <input type="hidden" name="savedAlpha" value="{$alphaSelected}">
+
         <h2 class="glm-admin-table-header">List&nbsp;of&nbsp;{$terms.term_member_plur_cap}</h2>
         <div class="glm-row">
             <b>Text Search: </b><input  class="glmMembersSearch" type="text" name="text_search" id="autoTest">
             <input type="submit" value="Submit" style="margin-right: 2em;">
         </div>
 <!--                <th>{$terms.term_member_plur_cap} Found:</th><td><span style="margin-right: 2em;">{$memberCount}</span></td> -->
-        <div class="glm-row">        
+        <div class="glm-row">
             <b>Categories: </b>
             <select id="filterCategories" name="filterCategories[]" multiple="multiple" size="1">
     {foreach from=$categories item=v}
 
         <br clear="all">
         <!-- Add Member Type Button and Dialog Box -->
-        <div id="exportMembersButton" class="button button-secondary glm-admin-export-button">Export {$terms.term_member_plur_cap}</div>    
-              
+        <div id="exportMembersButton" class="button button-secondary glm-admin-export-button">Export {$terms.term_member_plur_cap}</div>
+
         {if $paging}
             <input type="Submit" name="pageSelect" value="Previous {$limit} {$terms.term_member_plur_cap}" class="button button-secondary glm-button"{if !$prevStart} disabled{/if}>
             <input type="Submit" name="pageSelect" value="Next {$limit} {$terms.term_member_plur_cap}" class="button button-secondary glm-button"{if !$nextStart} disabled{/if}>
-        {/if}    
-        
+        {/if}
+
         <div class="glm-alpha-links">
             <a href="{$thisUrl}?page=glm-members-admin-menu-members-list&glm_action=list&textSearch={$textSearch}&categorySearch={$catSearchSelected}" class="glm-alpha-link{if !$alphaSelected} glm-alpha-link-selected{/if}">All</a>
       {foreach $alphaList as $a}
             <a href="{$thisUrl}?page=glm-members-admin-menu-members-list&glm_action=list&alpha={$a.alpha}&textSearch={$textSearch}&categorySearch={$catSearchSelected}" class="glm-alpha-link{if $a.default} glm-alpha-link-selected{/if}">{$a.alpha}</a>
       {/foreach}
        </div>
-        
+
         <table class="wp-list-table striped glm-admin-table-single">
             <thead>
                 <tr>