From 1c43edb40bacae520f5df8f9e52000473497e998 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Thu, 1 Mar 2012 17:05:50 +0100 Subject: [PATCH] CC-3174 : showbuilder --- .../application/models/ShowBuilder.php | 24 ++++++++++++++++++- airtime_mvc/public/css/showbuilder.css | 4 ++++ .../public/js/airtime/showbuilder/builder.js | 4 ++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/airtime_mvc/application/models/ShowBuilder.php b/airtime_mvc/application/models/ShowBuilder.php index 0717607cb..0443c63cd 100644 --- a/airtime_mvc/application/models/ShowBuilder.php +++ b/airtime_mvc/application/models/ShowBuilder.php @@ -30,7 +30,8 @@ class Application_Model_ShowBuilder { "cuein" => "", "cueout" => "", "fadein" => "", - "fadeout" => "" + "fadeout" => "", + "current" => false, ); /* @@ -76,6 +77,7 @@ class Application_Model_ShowBuilder { return $formatted; } + //check to see if this row should be editable. private function isAllowed($p_item, &$row) { $showStartDT = new DateTime($p_item["si_starts"], new DateTimeZone("UTC")); @@ -104,6 +106,16 @@ class Application_Model_ShowBuilder { $row["timestamp"] = $ts; } + private function isCurrent($p_epochItemStart, $p_epochItemEnd) { + $current = false; + + if ($this->epoch_now >= $p_epochItemStart && $this->epoch_now < $p_epochItemEnd) { + $current = true; + } + + return $current; + } + private function makeHeaderRow($p_item) { $row = $this->defaultRowArray; @@ -140,9 +152,19 @@ class Application_Model_ShowBuilder { $schedStartDT->setTimezone(new DateTimeZone($this->timezone)); $schedEndDT = new DateTime($p_item["sched_ends"], new DateTimeZone("UTC")); $schedEndDT->setTimezone(new DateTimeZone($this->timezone)); + $showEndDT = new DateTime($p_item["si_ends"], new DateTimeZone("UTC")); $this->getItemStatus($p_item, $row); + $startsEpoch = intval($schedStartDT->format("U")); + $endsEpoch = intval($schedEndDT->format("U")); + $showEndEpoch = intval($showEndDT->format("U")); + + //don't want an overbooked item to stay marked as current. + if ($this->isCurrent($startsEpoch, min($endsEpoch, $showEndEpoch))) { + $row["current"] = true; + } + $row["id"] = intval($p_item["sched_id"]); $row["instance"] = intval($p_item["si_id"]); $row["starts"] = $schedStartDT->format("H:i:s"); diff --git a/airtime_mvc/public/css/showbuilder.css b/airtime_mvc/public/css/showbuilder.css index eefd5bf57..1afa1e7b4 100644 --- a/airtime_mvc/public/css/showbuilder.css +++ b/airtime_mvc/public/css/showbuilder.css @@ -36,6 +36,10 @@ tr.cursor-selected-row .marker { background-color:#ff3030; } +.sb-now-playing { + background-color:#17eb25 !important; +} + .ui-dialog .wrapper { margin: 0; padding: 10px 0 0 0; diff --git a/airtime_mvc/public/js/airtime/showbuilder/builder.js b/airtime_mvc/public/js/airtime/showbuilder/builder.js index 240a01630..2d9497b15 100644 --- a/airtime_mvc/public/js/airtime/showbuilder/builder.js +++ b/airtime_mvc/public/js/airtime/showbuilder/builder.js @@ -183,6 +183,10 @@ var AIRTIME = (function(AIRTIME){ //save some info for reordering purposes. $(nRow).data({"aData": aData}); + if (aData.current === true) { + $(nRow).addClass("sb-now-playing"); + } + if (aData.allowed !== true) { $(nRow).addClass("sb-not-allowed"); }