From 895e0a90de4e6caee638de4729a20fd2b393f18e Mon Sep 17 00:00:00 2001 From: Robbt Date: Wed, 1 May 2019 13:42:53 -0400 Subject: [PATCH 1/3] fixed podcast length by removing query limit and offset --- airtime_mvc/public/js/airtime/widgets/table.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/airtime_mvc/public/js/airtime/widgets/table.js b/airtime_mvc/public/js/airtime/widgets/table.js index dc23f8df8..fb27fb782 100644 --- a/airtime_mvc/public/js/airtime/widgets/table.js +++ b/airtime_mvc/public/js/airtime/widgets/table.js @@ -77,6 +77,7 @@ var AIRTIME = (function(AIRTIME) { "bAutoWidth": false, "aaSorting": [], "iDisplayLength": 25, + "iDisplayStart": 25, "aLengthMenu": [25, 50, 100], "oLanguage" : getDatatablesStrings({ "sEmptyTable": $.i18n._(""), @@ -428,8 +429,6 @@ var AIRTIME = (function(AIRTIME) { "type": "GET", "url": sSource, "data": { - "limit": oSettings._iDisplayLength, - "offset": oSettings._iDisplayStart, "sort": sortColName, "sort_dir": sortDir, "search": search From 59df8ca6f8f5e3cc1d53a75f3784073ababd88bd Mon Sep 17 00:00:00 2001 From: Robbt Date: Wed, 1 May 2019 16:00:49 -0400 Subject: [PATCH 2/3] fixed the total count being passed and undid previous commit --- .../modules/rest/controllers/PodcastController.php | 4 +++- airtime_mvc/public/js/airtime/widgets/table.js | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/airtime_mvc/application/modules/rest/controllers/PodcastController.php b/airtime_mvc/application/modules/rest/controllers/PodcastController.php index eb454cb94..fd404e94c 100644 --- a/airtime_mvc/application/modules/rest/controllers/PodcastController.php +++ b/airtime_mvc/application/modules/rest/controllers/PodcastController.php @@ -37,6 +37,7 @@ class Rest_PodcastController extends Zend_Rest_Controller $result = PodcastQuery::create() // Don't return the Station podcast - we fetch it separately ->filterByDbId($stationPodcastId, Criteria::NOT_EQUAL); + $total = $result->count(); if ($limit > 0) { $result->setLimit($limit); } $result->setOffset($offset) ->orderBy($sortColumn, $sortDir); @@ -44,9 +45,10 @@ class Rest_PodcastController extends Zend_Rest_Controller $podcastArray = $result->toArray(null, false, BasePeer::TYPE_FIELDNAME); + $this->getResponse() ->setHttpResponseCode(200) - ->setHeader('X-TOTAL-COUNT', $result->count()) + ->setHeader('X-TOTAL-COUNT', $total) ->appendBody(json_encode($podcastArray)); } diff --git a/airtime_mvc/public/js/airtime/widgets/table.js b/airtime_mvc/public/js/airtime/widgets/table.js index fb27fb782..dc23f8df8 100644 --- a/airtime_mvc/public/js/airtime/widgets/table.js +++ b/airtime_mvc/public/js/airtime/widgets/table.js @@ -77,7 +77,6 @@ var AIRTIME = (function(AIRTIME) { "bAutoWidth": false, "aaSorting": [], "iDisplayLength": 25, - "iDisplayStart": 25, "aLengthMenu": [25, 50, 100], "oLanguage" : getDatatablesStrings({ "sEmptyTable": $.i18n._(""), @@ -429,6 +428,8 @@ var AIRTIME = (function(AIRTIME) { "type": "GET", "url": sSource, "data": { + "limit": oSettings._iDisplayLength, + "offset": oSettings._iDisplayStart, "sort": sortColName, "sort_dir": sortDir, "search": search From e701c2cffefec5974a02deff3bc91d5e5ff1d17e Mon Sep 17 00:00:00 2001 From: Robbt Date: Wed, 1 May 2019 17:31:58 -0400 Subject: [PATCH 3/3] Added last import date to podcast --- .../modules/rest/controllers/PodcastController.php | 5 ++++- airtime_mvc/public/js/airtime/library/library.js | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/airtime_mvc/application/modules/rest/controllers/PodcastController.php b/airtime_mvc/application/modules/rest/controllers/PodcastController.php index eb454cb94..76bb0c867 100644 --- a/airtime_mvc/application/modules/rest/controllers/PodcastController.php +++ b/airtime_mvc/application/modules/rest/controllers/PodcastController.php @@ -36,7 +36,10 @@ class Rest_PodcastController extends Zend_Rest_Controller $stationPodcastId = Application_Model_Preference::getStationPodcastId(); $result = PodcastQuery::create() // Don't return the Station podcast - we fetch it separately - ->filterByDbId($stationPodcastId, Criteria::NOT_EQUAL); + ->filterByDbId($stationPodcastId, Criteria::NOT_EQUAL) + ->leftJoinImportedPodcast() + ->withColumn('auto_ingest_timestamp'); + if ($limit > 0) { $result->setLimit($limit); } $result->setOffset($offset) ->orderBy($sortColumn, $sortDir); diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js index 8ad887fa1..6c7f87f21 100644 --- a/airtime_mvc/public/js/airtime/library/library.js +++ b/airtime_mvc/public/js/airtime/library/library.js @@ -1365,7 +1365,8 @@ var AIRTIME = (function(AIRTIME) { /* Creator */ { "sTitle" : $.i18n._("Creator") , "mDataProp" : "creator" , "sClass" : "library_creator" , "sWidth" : "160px" }, /* Website */ { "sTitle" : $.i18n._("Description") , "mDataProp" : "description" , "bVisible" : false , "sWidth" : "150px" }, /* Year */ { "sTitle" : $.i18n._("Owner") , "mDataProp" : "owner" , "bVisible" : false , "sWidth" : "60px" }, - /* URL */ { "sTitle" : $.i18n._("Feed URL") , "mDataProp" : "url" , "bVisible" : false , "sWidth" : "60px" } + /* URL */ { "sTitle" : $.i18n._("Feed URL") , "mDataProp" : "url" , "bVisible" : false , "sWidth" : "60px" }, + /* Import Date */ { "sTitle" : $.i18n._("Import Date") ,"mDataProp" : "auto_ingest_timestamp", "bVisible" : true , "sWidth" : "60px" }, ], ajaxSourceURL = baseUrl+"rest/podcast", podcastToolbarButtons = AIRTIME.widgets.Table.getStandardToolbarButtons();