Update the package listing page for member and member manager.
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 9 Feb 2017 19:40:51 +0000 (14:40 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Mon, 13 Feb 2017 19:48:39 +0000 (14:48 -0500)
The package page now has a pending filter to show all pending packages.
It also won't show the detail page for package that is not active.
I removed the "View Package" link from all packages not active.

models/admin/packaging/index.php
models/front/packaging/detail.php
views/admin/packaging/index.html

index c05578b..9df2804 100644 (file)
@@ -101,6 +101,7 @@ class GlmMembersAdmin_packaging_index extends GlmDataPackages
         $packageMembers     = false;
         $option             = false;
         $error              = false;
+        $filterPending      = false;
 
         // Load Notifications from the helper classes
         include_once GLM_MEMBERS_PACKAGING_PLUGIN_CLASS_PATH . '/helper/notification.php';
@@ -260,6 +261,12 @@ class GlmMembersAdmin_packaging_index extends GlmDataPackages
 
                 $where = '';
 
+                // Check for Pending filter
+                if (isset($_REQUEST['filterPending']) && $_REQUEST['filterPending'] == 'on') {
+                    $filterPending = true;
+                    $where .= " AND status = " . $this->config['status_numb']['Pending'];
+                }
+
                 // Determine if there's any selected filters
                 if (isset($_REQUEST['filterPackageType'])) {
                     switch($_REQUEST['filterPackageType']) {
@@ -335,6 +342,7 @@ class GlmMembersAdmin_packaging_index extends GlmDataPackages
 
         // Compile template data
         $templateData = array(
+            'filterPending'      => $filterPending,
             'lockedToMember'     => $lockedToMember,
             'havePackages'       => $havePackages,
             'packages'           => $packages,
index 2c9d890..5ba6697 100644 (file)
@@ -97,9 +97,9 @@ class GlmMembersFront_packaging_detail extends GlmDataPackages
     {
 
         $havePackage = false;
-        $packageID = false;
-        $package = false;
-        $status = false;
+        $packageID   = false;
+        $package     = false;
+        $status      = false;
 
         // If we have a package slug supplied from a rewrite - get the id
         $rrPackageSlug = get_query_var('packageslug', '');
@@ -127,9 +127,9 @@ class GlmMembersFront_packaging_detail extends GlmDataPackages
         // If there's a package ID, then get the package data
         if ($packageID > 0) {
             $package = $this->getEntry($packageID);
-            if ($package) {
+            if ( $package && $package['status']['value'] == 10 ) {
                 $havePackage = true;
-                $status = true;
+                $status      = true;
             }
         }
 
@@ -137,17 +137,17 @@ class GlmMembersFront_packaging_detail extends GlmDataPackages
         $templateData = array(
             'siteBaseUrl' => GLM_MEMBERS_SITE_BASE_URL,
             'havePackage' => $havePackage,
-            'packageID' => $packageID,
-            'package' => $package
+            'packageID'   => $packageID,
+            'package'     => $package
         );
 
         // Return status, suggested view, and data to controller - also return any modified settings
         return array(
-            'status' => $status,
+            'status'           => $status,
             'menuItemRedirect' => false,
-            'modelRedirect' => false,
-            'view' => 'front/packaging/detail.html',
-            'data' => $templateData
+            'modelRedirect'    => false,
+            'view'             => 'front/packaging/detail.html',
+            'data'             => $templateData
         );
 
     }
@@ -155,4 +155,4 @@ class GlmMembersFront_packaging_detail extends GlmDataPackages
 
 }
 
-?>
\ No newline at end of file
+?>
index aeced53..698f6de 100644 (file)
   {/if}
 
     <!-- Package list selection form -->
-    <form class="glm-right" onSubmit="return false;">
+    <form class="glm-right" action="{$thisUrl}?page={$thisPage}" method="post" >
 <!--
        <span{if $haveFilter} class="glm-notice"{/if}><b>List Filters:</b>&nbsp;&nbsp;</span>
        <input type="radio" name="filterPackageType" class="listFilter"{if $filterPackageType == 'all'} checked{/if} value="all">All&nbsp;&nbsp;
        <input type="radio" name="filterPackageType" class="listFilter"{if $filterPackageType == 'member'} checked{/if} value="member">{$terms.term_member_cap}&nbsp;&nbsp;
        <input type="radio" name="filterPackageType" class="listFilter"{if $filterPackageType == 'multi-member'} checked{/if} value="multi-member">Multi-{$terms.term_member_cap}&nbsp;&nbsp;
 -->
+        <span class="glm-nowrap">
+            <b>Show Pending Only: </b><input type="checkbox" id="filterPending" name="filterPending" class="listFilter"{if $filterPending} checked{/if} style="margin-right: 1em;">
+        </span>
        Search: <input  id="glmPackageSearch" type="text" id="autoTest" title="Enter any portion of a package name then click on full name that shows below this input box.">&nbsp;&nbsp;
+        <input type="submit" value="Submit">
     </form>
     <br clear="all">
 
             <tr>
                 <th>Package</th>
                 <th>{$terms.term_member_cap}</th>
+                <th>Status</th>
                 <th>Start</th>
                 <th>End</th>
                 <th>Expire</th>
                 <td class="glm-nowrap">
                     <a href="{$thisUrl}?page=glm-members-admin-menu-member&glm_action=index&member={$p.ref_dest}">{$p.ref_dest_name}</a>
                 </td>
+                <td>
+                    {$p.status.name}
+                </td>
                 <td>
                     {$p.start_date.date}
                 </td>
                     {$p.expire_date.date}
                 </td>
                 <td>
+                    {if $p.status.value == 10}
                     <a href="{$siteBaseUrl}{$settings.canonical_package_page}/{$p.package_slug}/" target="_blank">View Package</a>
+                    {/if}
                 </td>
             </tr>
     {/foreach}