From 6b4fd7d3bb46fe536474cfdf910bf100854ed9be Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Fri, 20 Apr 2012 13:03:50 +0200 Subject: [PATCH] CC-3686 : Improve differentiation of a record/rebroadcast show in the timeline --- .../controllers/UsersettingsController.php | 4 ++-- airtime_mvc/application/models/Schedule.php | 3 ++- .../application/models/ShowBuilder.php | 22 ++++++++++++++++++- .../public/js/airtime/showbuilder/builder.js | 21 +++++++++++++++++- 4 files changed, 45 insertions(+), 5 deletions(-) diff --git a/airtime_mvc/application/controllers/UsersettingsController.php b/airtime_mvc/application/controllers/UsersettingsController.php index 00c3bb5ec..2260d0400 100644 --- a/airtime_mvc/application/controllers/UsersettingsController.php +++ b/airtime_mvc/application/controllers/UsersettingsController.php @@ -11,9 +11,9 @@ class UsersettingsController extends Zend_Controller_Action ->addActionContext('get-library-datatable', 'json') ->addActionContext('set-library-datatable', 'json') ->addActionContext('get-timeline-datatable', 'json') - ->addActionContext('set-timeline-datatable', 'json') - ->addActionContext('register', 'json') + ->addActionContext('set-timeline-datatable', 'json') ->addActionContext('remindme', 'json') + ->addActionContext('donotshowregistrationpopup', 'json') ->initContext(); } diff --git a/airtime_mvc/application/models/Schedule.php b/airtime_mvc/application/models/Schedule.php index 4f5983a35..8320b1e99 100644 --- a/airtime_mvc/application/models/Schedule.php +++ b/airtime_mvc/application/models/Schedule.php @@ -244,7 +244,8 @@ class Application_Model_Schedule { showt.background_color AS show_background_color, showt.id AS show_id, si.starts AS si_starts, si.ends AS si_ends, si.time_filled AS si_time_filled, - si.record AS si_record, si.rebroadcast AS si_rebroadcast, si.id AS si_id, si.last_scheduled AS si_last_scheduled, + si.record AS si_record, si.rebroadcast AS si_rebroadcast, si.instance_id AS parent_show, + si.id AS si_id, si.last_scheduled AS si_last_scheduled, sched.starts AS sched_starts, sched.ends AS sched_ends, sched.id AS sched_id, sched.cue_in AS cue_in, sched.cue_out AS cue_out, diff --git a/airtime_mvc/application/models/ShowBuilder.php b/airtime_mvc/application/models/ShowBuilder.php index 1d1b05817..2d157c208 100644 --- a/airtime_mvc/application/models/ShowBuilder.php +++ b/airtime_mvc/application/models/ShowBuilder.php @@ -159,6 +159,22 @@ class Application_Model_ShowBuilder { $showEndDT->setTimezone(new DateTimeZone($this->timezone)); $endsEpoch = floatval($showEndDT->format("U.u")); + //is a rebroadcast show + if (intval($p_item["si_rebroadcast"]) === 1) { + $row["rebroadcast"] = true; + + $parentInstance = CcShowInstancesQuery::create()->findPk($p_item["parent_show"]); + $name = $parentInstance->getCcShow()->getDbName(); + $dt = $parentInstance->getDbStarts(null); + $dt->setTimezone(new DateTimeZone($this->timezone)); + $time = $dt->format("Y-m-d H:i"); + + $row["rebroadcast_title"] = "Rebroadcast of {$name} from {$time}"; + } + else if (intval($p_item["si_record"]) === 1) { + $row["record"] = true; + } + if ($startsEpoch < $this->epoch_now && $endsEpoch > $this->epoch_now) { $row["currentShow"] = true; $this->currentShow = true; @@ -238,7 +254,11 @@ class Application_Model_ShowBuilder { $row["id"] = 0 ; $row["instance"] = intval($p_item["si_id"]); } - + + if (intval($p_item["si_rebroadcast"]) === 1) { + $row["record"] = true; + } + if ($this->currentShow = true) { $row["currentShow"] = true; } diff --git a/airtime_mvc/public/js/airtime/showbuilder/builder.js b/airtime_mvc/public/js/airtime/showbuilder/builder.js index 5b7fdada6..47e8f4c69 100644 --- a/airtime_mvc/public/js/airtime/showbuilder/builder.js +++ b/airtime_mvc/public/js/airtime/showbuilder/builder.js @@ -228,7 +228,8 @@ var AIRTIME = (function(AIRTIME){ //background-color to imitate calendar color. r,g,b,a, $nRow = $(nRow), - $image; + $image, + $div; fnPrepareSeparatorRow = function fnPrepareSeparatorRow(sRowContent, sClass, iNodeIndex) { @@ -252,7 +253,25 @@ var AIRTIME = (function(AIRTIME){ node.innerHTML = ''; cl = 'sb-header'; + if (aData.record === true) { + $div = $("
", { + "class": "small-icon recording" + }); + $(node).append($div); + } + else if(aData.rebroadcast === true) { + $div = $("
", { + "class": "small-icon rebroadcast" + }); + $(node).append($div); + } + sSeparatorHTML = ''+aData.title+''; + + if (aData.rebroadcast === true) { + sSeparatorHTML += ''+aData.rebroadcast_title+''; + } + sSeparatorHTML += ''; if (aData.startDate === aData.endDate) {