diff --git a/application/controllers/ScheduleController.php b/application/controllers/ScheduleController.php index 8bfab2fd3..db0ec0526 100644 --- a/application/controllers/ScheduleController.php +++ b/application/controllers/ScheduleController.php @@ -168,8 +168,10 @@ class ScheduleController extends Zend_Controller_Action } - $menu[] = array('action' => array('type' => 'ajax', 'url' => '/Schedule/show-content-dialog'.$params, - 'callback' => 'window["buildContentDialog"]'), 'title' => 'Show Content'); + if(!$show->isRecorded()) { + $menu[] = array('action' => array('type' => 'ajax', 'url' => '/Schedule/show-content-dialog'.$params, + 'callback' => 'window["buildContentDialog"]'), 'title' => 'Show Content'); + } if (strtotime($show->getShowStart()) <= strtotime($today_timestamp) && diff --git a/application/models/Shows.php b/application/models/Shows.php index 2f9d60de3..654f6b5a5 100644 --- a/application/models/Shows.php +++ b/application/models/Shows.php @@ -177,13 +177,16 @@ class Show { //adding rows to cc_show_rebroadcast if($data['add_show_record'] && $data['add_show_rebroadcast'] && $repeat_type != -1) { - for($i=1; $i<=1; $i++) { + for($i=1; $i<=5; $i++) { - $showRebroad = new CcShowRebroadcast(); - $showRebroad->setDbDayOffset($data['add_show_rebroadcast_date_'.$i]); - $showRebroad->setDbStartTime($data['add_show_start_time_'.$i]); - $showRebroad->setDbShowId($showId); - $showRebroad->save(); + if($data['add_show_rebroadcast_date_'.$i]) { + + $showRebroad = new CcShowRebroadcast(); + $showRebroad->setDbDayOffset($data['add_show_rebroadcast_date_'.$i]); + $showRebroad->setDbStartTime($data['add_show_rebroadcast_time_'.$i]); + $showRebroad->setDbShowId($showId); + $showRebroad->save(); + } } } else if($data['add_show_record'] && $data['add_show_rebroadcast'] && $repeat_type == -1){ @@ -511,7 +514,7 @@ class ShowInstance { public function isRebroadcast() { $showInstance = CcShowInstancesQuery::create()->findPK($this->_instanceId); - return $showInstance->getDbRebroadcast(); + return $showInstance->getDbOriginalShow(); } public function isRecorded() { @@ -587,6 +590,16 @@ class ShowInstance { if(count($overlap) > 0) { return "Should not overlap shows"; } + + $rebroadcast = $this->isRebroadcast(); + if($rebroadcast) { + $sql = "SELECT timestamp '{$new_starts}' < (SELECT starts FROM cc_show_instances WHERE id = {$rebroadcast})"; + $isBeforeRecordedOriginal = $CC_DBC->GetOne($sql); + + if($isBeforeRecordedOriginal === 't'){ + return "Cannot move a rebroadcast show before its original"; + } + } $this->moveScheduledShowContent($deltaDay, $hours, $mins); $this->setShowStart($new_starts); diff --git a/application/views/scripts/form/add-show-rebroadcast-absolute.phtml b/application/views/scripts/form/add-show-rebroadcast-absolute.phtml index 090d3c5e5..0fcb9a0dc 100644 --- a/application/views/scripts/form/add-show-rebroadcast-absolute.phtml +++ b/application/views/scripts/form/add-show-rebroadcast-absolute.phtml @@ -10,6 +10,9 @@ element->getElement('add_show_rebroadcast_absolute_date_'.$i) ?> @ element->getElement('add_show_rebroadcast_absolute_time_'.$i) ?> + element->getElement('add_show_rebroadcast_absolute_time_'.$i)->hasErrors()) : ?> + element->getElement('add_show_rebroadcast_absolute_time_'.$i)->getMessages()); ?> +