Updates for generating pdf when using more than one cat in shorcode.
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 19 Sep 2018 19:03:39 +0000 (15:03 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 19 Sep 2018 19:03:39 +0000 (15:03 -0400)
If the shortcode has more than one category then we need to pull the
list of categories and send it to the pdf admin ajax call.
Before it was just sending the form which had only a single select so
only the last category that was marked selected would get submitted to
the pdf generator.

js/dashboard.js
models/front/events/baseAction.php
models/front/events/list.php
views/front/events/searchForm.html

index 2df4189..d90cb64 100644 (file)
@@ -26,7 +26,9 @@ jQuery(document).ready(function ($) {
     }
     jQuery('#glm-event-pdf-submit').click(function(event){
         eventForm = $('#glm-member-event-search');
-        eventForm.attr('action', ajaxUrl + '?action=glm_members_admin_ajax&glm_action=pdfOutput&glm-event-pdf=1');
+        // Get the data-cats
+        var categories = $(this).data('cats');
+        eventForm.attr('action', ajaxUrl + '?action=glm_members_admin_ajax&glm_action=pdfOutput&glm-event-pdf=1&categories=' + categories );
     });
     if (jQuery('#glm-event-name').length > 0) {
         var cache = {};
index 51f18ad..0ce1b5a 100644 (file)
@@ -407,6 +407,7 @@ abstract class GlmMembersFront_events_baseAction extends GlmDataEvents
         }
 
         // echo '<pre>$whereParts: ' . print_r( $whereParts, true ) . '</pre>';
+        // exit;
         if ( isset( $whereParts ) && !empty( $whereParts ) ) {
             $where = implode( ' AND ', $whereParts);
         }
index 805aece..4c72089 100644 (file)
@@ -73,6 +73,7 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
         $groupByDay      = true;
         $groupMonth      = false;
         $this->notInCat  = array();
+        $pdfCategoryList = '';
 
 
         // get list cities to search by
@@ -130,14 +131,19 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
         }
         // Get any numeric categories selected in the submitted shortcode and add to $cats array.
         // This sets categories that are available for selection by the user
-        if ( !( isset( $_REQUEST['category'] ) && $_REQUEST['category'] )
-            && isset( $actionData['request']['category'] )
-            && $categoryId = filter_var( $actionData['request']['category'], FILTER_SANITIZE_STRING )
+        if ( !( isset( $_REQUEST['category'] ) && $_REQUEST['category'] && !isset( $_REQUEST['categories'] ) )
+            && ( isset( $actionData['request']['category'] ) || $_REQUEST['categories'] )
         ) {
+            $pdfCategoryList = $actionData['request']['category'];
             $categoryId = array();
 
             // Convert comma separated list to an array
-            $catsRequested = explode(',', $actionData['request']['category']);
+            if( isset( $actionData['request']['category'] ) && filter_var( $actionData['request']['category'], FILTER_SANITIZE_STRING ) ) {
+                $catsRequested = explode(',', $actionData['request']['category'] );
+            }
+            if ( isset( $_REQUEST['categories'] ) && filter_var( $_REQUEST['categories'], FILTER_SANITIZE_STRING ) ) {
+                $catsRequested = explode(',', $_REQUEST['categories'] );
+            }
 
             // Check for numeric IDs only
             while (list($k, $v) = each($catsRequested)) {
@@ -155,6 +161,7 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
             }
 
         }
+
         if ( isset( $_REQUEST['amenity'] ) && $amenityId = filter_var( $_REQUEST['amenity'], FILTER_VALIDATE_INT ) ) {
             $search = true;
             $action = 'event-list';
@@ -690,6 +697,7 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
             'cal_view'     => $calendar_view,
             'pageSlug'     => $pageSlug,
             'customPage'   => $customPage,
+            'pdfCatList'   => $pdfCategoryList,
 //            'override'     => $override_default_view
         );
         error_reporting(E_ALL ^ E_NOTICE);
index 9d76c3d..e7a35b0 100644 (file)
@@ -24,7 +24,7 @@
         </form>
         <form id="glm-member-event-search" action="{$currentUrl}" method="get">
             <input type="hidden" name="search" value="1">
-             <input type="hidden" name="override_default" value="yes">
+            <input type="hidden" name="override_default" value="yes">
             <div class="row">
                 <div class="small-6 medium-3 column">
                     <div class="row collapse prefix-radius">
@@ -57,7 +57,7 @@
                 </div>
                 <div class="small-4 medium-2 column">
                     {if !$eventId}
-                    <input class="right" type="image" title="Print PDF" id="glm-event-pdf-submit" src="{$assetsUrl}print-icon-24x24.png">
+                    <input data-cats="{$pdfCatList}" class="right" type="image" title="Print PDF" id="glm-event-pdf-submit" src="{$assetsUrl}print-icon-24x24.png">
                     {else}
                     {/if}
                     <a href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=rssFeed{if $eventId}&eventId={$eventId}{/if}">
@@ -74,7 +74,7 @@
     <!-- <div class="small-8 medium-10 columns"></div> -->
     <div class="small-8 medium-10 columns">
         {if !$eventId}
-        <input class="right" type="image" title="Print PDF" id="glm-event-pdf-submit" src="{$assetsUrl}print-icon-24x24.png">
+        <input data-cats="{$pdfCatList}" class="right" type="image" title="Print PDF" id="glm-event-pdf-submit" src="{$assetsUrl}print-icon-24x24.png">
         {else}
         {/if}
         <a href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=rssFeed{if $eventId}&eventId={$eventId}{/if}">