From 01ec7ce7979194e0075e49b3fa321704a36c919b Mon Sep 17 00:00:00 2001 From: Robb Ebright Date: Tue, 28 Nov 2017 15:12:27 -0500 Subject: [PATCH] inital attempt to add autoplaylist icon to calendar --- airtime_mvc/application/models/Show.php | 8 ++++ .../application/models/ShowInstance.php | 24 +++++++++++ .../schedule/full-calendar-functions.js | 40 +++++++++++++++---- 3 files changed, 65 insertions(+), 7 deletions(-) diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php index d36949953..45100eb66 100644 --- a/airtime_mvc/application/models/Show.php +++ b/airtime_mvc/application/models/Show.php @@ -1023,6 +1023,8 @@ SQL; $content_count = Application_Model_ShowInstance::getContentCount( $p_start, $p_end); $isFull = Application_Model_ShowInstance::getIsFull($p_start, $p_end); + $hasAutoPlaylist = Application_Model_ShowInstance::getShowHasAutoplaylist($p_start, $p_end); + $displayTimezone = new DateTimeZone(Application_Model_Preference::GetUserTimezone()); $utcTimezone = new DateTimeZone("UTC"); @@ -1055,6 +1057,7 @@ SQL; $startsDT->setTimezone($displayTimezone); $endsDT->setTimezone($displayTimezone); + xdebug_break(); $options["show_empty"] = (array_key_exists($show['instance_id'], $content_count)) ? 0 : 1; @@ -1064,6 +1067,11 @@ SQL; } else { $options["show_partial_filled"] = true; } + if (array_key_exists($show['instance_id'], $hasAutoPlaylist)) { + $options["show_has_auto_playlist"] = !$hasAutoPlaylist[$show['instance_id']]; + } else { + $options["show_has_auto_playlist"] = true; + } $event = array(); diff --git a/airtime_mvc/application/models/ShowInstance.php b/airtime_mvc/application/models/ShowInstance.php index bd6f8862e..313c2b059 100644 --- a/airtime_mvc/application/models/ShowInstance.php +++ b/airtime_mvc/application/models/ShowInstance.php @@ -238,6 +238,7 @@ SQL; $id = $this->_showInstance->getDbId(); $lastid = $this->getLastAudioItemId(); // Logging::info("The last id is $lastid"); + xdebug_break(); $scheduler = new Application_Model_Scheduler($checkUserPerm); $scheduler->scheduleAfter( @@ -290,7 +291,9 @@ SQL; } private function checkToDeleteShow($showId) + { + xdebug_break(); //UTC DateTime object $showsPopUntil = Application_Model_Preference::GetShowsPopulatedUntil(); @@ -556,6 +559,27 @@ SQL; return $isFilled; } + public static function getShowHasAutoplaylist($p_start, $p_end) + { + $sql = << :p_start::TIMESTAMP +AND starts < :p_end::TIMESTAMP +SQL; + $res = Application_Common_Database::prepareAndExecute($sql, array( + ':p_start' => $p_start->format("Y-m-d G:i:s"), + ':p_end' => $p_end->format("Y-m-d G:i:s")) + , 'all'); + $hasAutoplaylist = array(); + foreach ($res as $r) { + $hasAutoplaylist[$r['id']] = $r['has_autoplaylist']; + } + + return $hasAutoplaylist; + } + public function showEmpty() { $sql = <<'); - } else { + // in theory a linked show shouldn't have an automatic playlist so adding this here + } else if (event.show_has_auto_playlist === true) { + $(element) + .find(".fc-event-time") + .before(''); + } + else { $(element) .find(".fc-event-time") .before(''); @@ -224,7 +230,11 @@ function eventRender(event, element, view) { $(element) .find(".fc-event-time") .before(''); - } else { + } else if (event.show_has_auto_playlist === true) { + $(element) + .find(".fc-event-time") + .before(''); + } else { $(element) .find(".fc-event-time") .before(''); @@ -234,26 +244,38 @@ function eventRender(event, element, view) { $(element) .find(".fc-event-time") .before(''); + } else if (event.show_has_auto_playlist === true) { + $(element) + .find(".fc-event-time") + .before(''); } } } else if (view.name === 'month') { if (event.show_empty === 1) { if (event.linked) { - $(element) + $(element) .find(".fc-event-title") .after(''); + } else if (event.show_has_auto_playlist === true) { + $(element) + .find(".fc-event-title") + .after(''); } else { - $(element) + $(element) .find(".fc-event-title") .after(''); } } else if (event.show_partial_filled === true) { if (event.linked) { $(element) - .find(".fc-event-title") - .after(''); + .find(".fc-event-title") + .after(''); + } else if (event.show_has_auto_playlist === true) { + $(element) + .find(".fc-event-title") + .after(''); } else { - $(element) + $(element) .find(".fc-event-title") .after(''); } @@ -262,6 +284,10 @@ function eventRender(event, element, view) { $(element) .find(".fc-event-title") .after(''); + } else if (event.show_has_auto_playlist === true) { + $(element) + .find(".fc-event-title") + .after(''); } } }