From 83a8c301d7cd401d9352c251ad6f485d1b393540 Mon Sep 17 00:00:00 2001 From: James Date: Wed, 25 Apr 2012 12:14:13 -0400 Subject: [PATCH 1/7] CC-3708: Recorded file has no creator in metadata, not being associated with a rebroadcast show. - the propel db integration was changing str value to int for int columns in DB --- python_apps/pypo/recorder.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/python_apps/pypo/recorder.py b/python_apps/pypo/recorder.py index e5765672c..ab8f2ca8f 100644 --- a/python_apps/pypo/recorder.py +++ b/python_apps/pypo/recorder.py @@ -134,11 +134,16 @@ class ShowRecorder(Thread): recorded_file['title'] = name recorded_file['artist'] = artist recorded_file['date'] = md[0] - recorded_file['tracknumber'] = self.show_instance + #You cannot pass ints into the metadata of a file. Even tracknumber needs to be a string + recorded_file['tracknumber'] = unicode(self.show_instance) recorded_file.save() except Exception, e: - self.logger.error("Exception: %s", e) + import traceback + top = traceback.format_exc() + self.logger.error('Exception: %s', e) + self.logger.error("traceback: %s", top) + def run(self): code, filepath = self.record_show() From 34a194951105207363408282bc781a7c78f68315 Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Wed, 25 Apr 2012 15:09:58 -0400 Subject: [PATCH 2/7] CC-3696: more rebroadcast show instances will be created after change the calendar -fixed --- airtime_mvc/application/models/Show.php | 69 +++++++++---------- .../application/models/ShowInstance.php | 14 ++++ 2 files changed, 47 insertions(+), 36 deletions(-) diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php index 3675879b6..b3fa0f0f1 100644 --- a/airtime_mvc/application/models/Show.php +++ b/airtime_mvc/application/models/Show.php @@ -868,14 +868,6 @@ class Application_Model_Show { $this->updateDurationTime($p_data); } - if ($isRecorded){ - //delete all rebroadcasts. They will simply be recreated later - //in the execution of this PHP script. This simplifies having to - //reason about whether we should keep individual rebroadcasts or - //delete them or move them around etc. - $this->deleteAllRebroadcasts(); - } - if ($p_data['add_show_repeats']){ if (($repeatType == 1 || $repeatType == 2) && $p_data['add_show_start_date'] != $this->getStartDate()){ @@ -1172,8 +1164,8 @@ class Application_Model_Show { $sql = "SELECT * FROM cc_show_days WHERE show_id = $p_showId"; $res = $con->query($sql)->fetchAll(); - foreach ($res as $showRow) { - Application_Model_Show::populateShow($showRow, $p_populateUntilDateTime); + foreach ($res as $showDaysRow) { + Application_Model_Show::populateShow($showDaysRow, $p_populateUntilDateTime); } } @@ -1188,18 +1180,18 @@ class Application_Model_Show { * @param DateTime $p_populateUntilDateTime * DateTime object in UTC time. */ - private static function populateShow($p_showRow, $p_populateUntilDateTime) { - if($p_showRow["repeat_type"] == -1) { - Application_Model_Show::populateNonRepeatingShow($p_showRow, $p_populateUntilDateTime); + private static function populateShow($p_showDaysRow, $p_populateUntilDateTime) { + if($p_showDaysRow["repeat_type"] == -1) { + Application_Model_Show::populateNonRepeatingShow($p_showDaysRow, $p_populateUntilDateTime); } - else if($p_showRow["repeat_type"] == 0) { - Application_Model_Show::populateRepeatingShow($p_showRow, $p_populateUntilDateTime, 'P7D'); + else if($p_showDaysRow["repeat_type"] == 0) { + Application_Model_Show::populateRepeatingShow($p_showDaysRow, $p_populateUntilDateTime, 'P7D'); } - else if($p_showRow["repeat_type"] == 1) { - Application_Model_Show::populateRepeatingShow($p_showRow, $p_populateUntilDateTime, 'P14D'); + else if($p_showDaysRow["repeat_type"] == 1) { + Application_Model_Show::populateRepeatingShow($p_showDaysRow, $p_populateUntilDateTime, 'P14D'); } - else if($p_showRow["repeat_type"] == 2) { - Application_Model_Show::populateRepeatingShow($p_showRow, $p_populateUntilDateTime, 'P1M'); + else if($p_showDaysRow["repeat_type"] == 2) { + Application_Model_Show::populateRepeatingShow($p_showDaysRow, $p_populateUntilDateTime, 'P1M'); } Application_Model_RabbitMq::PushSchedule(); } @@ -1258,9 +1250,10 @@ class Application_Model_Show { $sql = "SELECT * FROM cc_show_rebroadcast WHERE show_id={$show_id}"; $rebroadcasts = $con->query($sql)->fetchAll(); - //Logging::log('$start time of non repeating record '.$start); - - self::createRebroadcastInstances($rebroadcasts, $currentUtcTimestamp, $show_id, $show_instance_id, $start, $duration, $timezone); + if ($showInstance->isRecorded()){ + $showInstance->deleteRebroadcasts(); + self::createRebroadcastInstances($rebroadcasts, $currentUtcTimestamp, $show_id, $show_instance_id, $start, $duration, $timezone); + } } } @@ -1276,19 +1269,19 @@ class Application_Model_Show { * @param string $p_interval * Period of time between repeating shows (in php DateInterval notation 'P7D') */ - private static function populateRepeatingShow($p_showRow, $p_populateUntilDateTime, $p_interval) + private static function populateRepeatingShow($p_showDaysRow, $p_populateUntilDateTime, $p_interval) { $con = Propel::getConnection(); - $show_id = $p_showRow["show_id"]; - $next_pop_date = $p_showRow["next_pop_date"]; - $first_show = $p_showRow["first_show"]; //non-UTC - $last_show = $p_showRow["last_show"]; //non-UTC - $start_time = $p_showRow["start_time"]; //non-UTC - $duration = $p_showRow["duration"]; - $day = $p_showRow["day"]; - $record = $p_showRow["record"]; - $timezone = $p_showRow["timezone"]; + $show_id = $p_showDaysRow["show_id"]; + $next_pop_date = $p_showDaysRow["next_pop_date"]; + $first_show = $p_showDaysRow["first_show"]; //non-UTC + $last_show = $p_showDaysRow["last_show"]; //non-UTC + $start_time = $p_showDaysRow["start_time"]; //non-UTC + $duration = $p_showDaysRow["duration"]; + $day = $p_showDaysRow["day"]; + $record = $p_showDaysRow["record"]; + $timezone = $p_showDaysRow["timezone"]; $currentUtcTimestamp = gmdate("Y-m-d H:i:s"); @@ -1314,6 +1307,12 @@ class Application_Model_Show { if ($show->hasInstanceOnDate($utcStartDateTime)){ $ccShowInstance = $show->getInstanceOnDate($utcStartDateTime); + + if ($ccShowInstance->getDbModifiedInstance()){ + //show instance on this date has been deleted. + continue; + } + $newInstance = false; } else { $ccShowInstance = new CcShowInstances(); @@ -1341,10 +1340,8 @@ class Application_Model_Show { $showInstance->correctScheduleStartTimes(); } - //don't create rebroadcasts for a deleted recorded show. - if ($ccShowInstance->getDbModifiedInstance() == false) { - self::createRebroadcastInstances($rebroadcasts, $currentUtcTimestamp, $show_id, $show_instance_id, $start, $duration, $timezone); - } + $showInstance->deleteRebroadcasts(); + self::createRebroadcastInstances($rebroadcasts, $currentUtcTimestamp, $show_id, $show_instance_id, $start, $duration, $timezone); if ($p_interval == 'P1M'){ /* When adding months, there is a problem if we are on January 31st and add one month with PHP. diff --git a/airtime_mvc/application/models/ShowInstance.php b/airtime_mvc/application/models/ShowInstance.php index 8d4b4d95f..aaa0aa87e 100644 --- a/airtime_mvc/application/models/ShowInstance.php +++ b/airtime_mvc/application/models/ShowInstance.php @@ -30,6 +30,20 @@ class Application_Model_ShowInstance { public function getShow(){ return new Application_Model_Show($this->getShowId()); } + + public function deleteRebroadcasts(){ + $con = Propel::getConnection(); + + $timestamp = gmdate("Y-m-d H:i:s"); + $instance_id = $this->getShowInstanceId(); + + $sql = "DELETE FROM cc_show_instances" + ." WHERE starts > TIMESTAMP '$timestamp'" + ." AND instance_id = $instance_id" + ." AND rebroadcast = 1"; + + $con->exec($sql); + } /* This function is weird. It should return a boolean, but instead returns * an integer if it is a rebroadcast, or returns null if it isn't. You can convert From 5c401cb472ea3ff3f497d1dc3272338c9cf4218f Mon Sep 17 00:00:00 2001 From: James Date: Wed, 25 Apr 2012 16:04:36 -0400 Subject: [PATCH 3/7] CC-3671: add show on week/day view doesn't get start time/end time filled in - fixed - moved pad function into common.js --- .../public/js/airtime/common/common.js | 9 +++++++ .../public/js/airtime/schedule/add-show.js | 9 ------- .../schedule/full-calendar-functions.js | 24 ++----------------- 3 files changed, 11 insertions(+), 31 deletions(-) diff --git a/airtime_mvc/public/js/airtime/common/common.js b/airtime_mvc/public/js/airtime/common/common.js index 81af8b06d..e6b62f89a 100644 --- a/airtime_mvc/public/js/airtime/common/common.js +++ b/airtime_mvc/public/js/airtime/common/common.js @@ -82,4 +82,13 @@ function openPreviewWindow(url) { //var elemID = "spl_"+elemIndexString; //$('#'+elemID+' div.list-item-container a span').attr("class", "ui-icon ui-icon-pause"); return false; +} + +function pad(number, length) { + var str = '' + number; + while (str.length < length) { + str = '0' + str; + } + + return str; } \ No newline at end of file diff --git a/airtime_mvc/public/js/airtime/schedule/add-show.js b/airtime_mvc/public/js/airtime/schedule/add-show.js index e33b6fbea..212ae7dec 100644 --- a/airtime_mvc/public/js/airtime/schedule/add-show.js +++ b/airtime_mvc/public/js/airtime/schedule/add-show.js @@ -447,15 +447,6 @@ function setAddShowEvents() { } $('#add_show_duration').val(duration); } - - function pad(number, length) { - var str = '' + number; - while (str.length < length) { - str = '0' + str; - } - - return str; - } } function showErrorSections() { diff --git a/airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js b/airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js index 7e5f8b53a..1129bd020 100644 --- a/airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js +++ b/airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js @@ -58,17 +58,6 @@ function removeAddShowButton(){ span.remove(); } -function pad(number, length) { - - var str = '' + number; - while (str.length < length) { - str = '0' + str; - } - - return str; - -} - function makeTimeStamp(date){ var sy, sm, sd, h, m, s, timestamp; sy = date.getFullYear(); @@ -82,15 +71,6 @@ function makeTimeStamp(date){ return timestamp; } -function pad(number, length) { - var str = '' + number; - while (str.length < length) { - str = '0' + str; - } - - return str; -} - function dayClick(date, allDay, jsEvent, view){ // The show from will be preloaded if the user is admin or program manager. // Hence, if the user if DJ then it won't open anything. @@ -141,7 +121,7 @@ function dayClick(date, allDay, jsEvent, view){ }else{ // if in day or week view, selected has all the time info as well // so we don't ahve to calculate it explicitly - startTime_string = selected.getHours()+":"+selected.getMinutes() + startTime_string = pad(selected.getHours(),2)+":"+pad(selected.getMinutes(),2) startTime = 0 } @@ -155,7 +135,7 @@ function dayClick(date, allDay, jsEvent, view){ $("#add_show_end_date_no_repeat").val(endDateFormat); $("#add_show_end_date").val(endDateFormat); if(view.name !== "month") { - var endTimeString = endDateTime.getHours()+":"+endDateTime.getMinutes(); + var endTimeString = pad(endDateTime.getHours(),2)+":"+pad(endDateTime.getMinutes(),2); $("#add_show_start_time").val(startTime_string) $("#add_show_end_time").val(endTimeString) } From d04e0538142b7efcc8764b728205dc6d7a8f6325 Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Wed, 25 Apr 2012 16:21:03 -0400 Subject: [PATCH 4/7] CC-3704: No default checked day when creating repeat show -fixed --- .../js/airtime/dashboard/helperfunctions.js | 17 +++++++++++++++++ .../public/js/airtime/schedule/add-show.js | 15 +++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js b/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js index 12b419d96..58b3ff5bb 100644 --- a/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js +++ b/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js @@ -11,6 +11,23 @@ function popup(mylink){ return false; } +/* Take a string representing a date in the format 2012-04-25 and return + * a javascript date object representing this date. */ +function getDateFromString(time){ + var date = time.split("-"); + + if (date.length != 3){ + return null; + } + + var year = parseInt(date[0], 10); + var month = parseInt(date[1], 10) -1; + var day = parseInt(date[2], 10); + + return new Date(year, month, day); + +} + function convertSecondsToDaysHoursMinutesSeconds(seconds){ if (seconds < 0) seconds = 0; diff --git a/airtime_mvc/public/js/airtime/schedule/add-show.js b/airtime_mvc/public/js/airtime/schedule/add-show.js index e33b6fbea..14e1c9fdc 100644 --- a/airtime_mvc/public/js/airtime/schedule/add-show.js +++ b/airtime_mvc/public/js/airtime/schedule/add-show.js @@ -110,7 +110,22 @@ function setAddShowEvents() { form.find("#add_show_repeats").click(function(){ $(this).blur(); form.find("#schedule-show-when > fieldset:last").toggle(); + + var checkBoxSelected = false; + var days = form.find("#add_show_day_check-element input").each( function() { + var currentCheckBox = $(this).attr("checked"); + if (currentCheckBox && currentCheckBox == "checked"){ + checkBoxSelected = true; + } + }); + + if (!checkBoxSelected){ + var d = getDateFromString(form.find("#add_show_start_date").attr("value")); + if ( d != null) + form.find("#add_show_day_check-"+d.getDay()).attr('checked', true); + } + //must switch rebroadcast displays if(form.find("#add_show_rebroadcast").attr('checked')) { From e12bd35ee237d6a666f136a6f04de6908bf07fd8 Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Wed, 25 Apr 2012 16:39:58 -0400 Subject: [PATCH 5/7] CC-3671: add show on week/day view doesn't get start time/end time filled in -use str formatter for padding --- airtime_mvc/application/Bootstrap.php | 3 ++- .../application/controllers/SystemstatusController.php | 1 - airtime_mvc/public/js/airtime/common/common.js | 9 ++------- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index af676f201..1e5fc3b2d 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -65,7 +65,8 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap $view->headScript()->appendFile($baseUrl.'/js/libs/jquery-ui-1.8.18.custom.min.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $view->headScript()->appendFile($baseUrl.'/js/libs/jquery.stickyPanel.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $view->headScript()->appendFile($baseUrl.'/js/qtip/jquery.qtip.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $view->headScript()->appendFile($baseUrl.'/js/jplayer/jquery.jplayer.min.js?'.$CC_CONFIG['airtime_version']); + $view->headScript()->appendFile($baseUrl.'/js/jplayer/jquery.jplayer.min.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); + $view->headScript()->appendFile($baseUrl.'/js/sprintf/sprintf-0.7-beta1.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $view->headScript()->appendScript("var baseUrl='$baseUrl/'"); //scripts for now playing bar diff --git a/airtime_mvc/application/controllers/SystemstatusController.php b/airtime_mvc/application/controllers/SystemstatusController.php index b660cd4e1..8865b1663 100644 --- a/airtime_mvc/application/controllers/SystemstatusController.php +++ b/airtime_mvc/application/controllers/SystemstatusController.php @@ -10,7 +10,6 @@ class SystemstatusController extends Zend_Controller_Action $baseUrl = $request->getBaseUrl(); $this->view->headScript()->appendFile($baseUrl.'/js/airtime/status/status.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/sprintf/sprintf-0.7-beta1.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); } public function indexAction() diff --git a/airtime_mvc/public/js/airtime/common/common.js b/airtime_mvc/public/js/airtime/common/common.js index e6b62f89a..fb059da0d 100644 --- a/airtime_mvc/public/js/airtime/common/common.js +++ b/airtime_mvc/public/js/airtime/common/common.js @@ -85,10 +85,5 @@ function openPreviewWindow(url) { } function pad(number, length) { - var str = '' + number; - while (str.length < length) { - str = '0' + str; - } - - return str; -} \ No newline at end of file + return sprintf("%'0"+length+"d", number); +} From fe71487fa2bac8df02dcbc3d9d2f9f5ce5fb15b6 Mon Sep 17 00:00:00 2001 From: James Date: Wed, 25 Apr 2012 17:21:25 -0400 Subject: [PATCH 6/7] CC-3478: Calendar->Show has some inconsistencies on special Days (e.g. switching to Daylight Saving Time) - fixed --- .../controllers/ScheduleController.php | 28 ++++++++--- .../public/js/airtime/schedule/add-show.js | 47 ++++++++++--------- 2 files changed, 46 insertions(+), 29 deletions(-) diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php index bdcc4e2b7..b9b738404 100644 --- a/airtime_mvc/application/controllers/ScheduleController.php +++ b/airtime_mvc/application/controllers/ScheduleController.php @@ -31,6 +31,7 @@ class ScheduleController extends Zend_Controller_Action ->addActionContext('set-time-interval', 'json') ->addActionContext('edit-show-instance', 'json') ->addActionContext('dj-edit-show', 'json') + ->addActionContext('calculate-duration', 'json') ->initContext(); $this->sched_sess = new Zend_Session_Namespace("schedule"); @@ -891,12 +892,25 @@ class ScheduleController extends Zend_Controller_Action public function setTimeIntervalAction() { Application_Model_Preference::SetCalendarTimeInterval($this->_getParam('timeInterval')); } + + public function calculateDurationAction() { + global $CC_CONFIG; + + $startParam = $this->_getParam('startTime'); + $endParam = $this->_getParam('endTime'); + + $startDateTime = new DateTime($startParam); + $endDateTime = new DateTime($endParam); + + $UTCStartDateTime = $startDateTime->setTimezone(new DateTimeZone('UTC')); + $UTCEndDateTime = $endDateTime->setTimezone(new DateTimeZone('UTC')); + + $duration = $UTCEndDateTime->diff($UTCStartDateTime); + + $result = $duration->format('%r%Hh %Im'); + + echo Zend_Json::encode($result); + exit(); + } } - - - - - - - diff --git a/airtime_mvc/public/js/airtime/schedule/add-show.js b/airtime_mvc/public/js/airtime/schedule/add-show.js index 212ae7dec..190f372d3 100644 --- a/airtime_mvc/public/js/airtime/schedule/add-show.js +++ b/airtime_mvc/public/js/airtime/schedule/add-show.js @@ -364,12 +364,16 @@ function setAddShowEvents() { // when start date/time changes, set end date/time to start date/time+1 hr $('#add_show_start_date, #add_show_start_time').change(function(){ - var startDate = $('#add_show_start_date').val().split('-'); - var startTime = $('#add_show_start_time').val().split(':'); + var startDateString = $('#add_show_start_date').val(); + var startTimeString = $('#add_show_start_time').val(); + var startDate = startDateString.split('-'); + var startTime = startTimeString.split(':'); var startDateTime = new Date(startDate[0], parseInt(startDate[1], 10)-1, startDate[2], startTime[0], startTime[1], 0, 0); - var endDate = $('#add_show_end_date_no_repeat').val().split('-'); - var endTime = $('#add_show_end_time').val().split(':'); + var endDateString = $('#add_show_end_date_no_repeat').val(); + var endTimeString = $('#add_show_end_time').val() + var endDate = endDateString.split('-'); + var endTime = endTimeString.split(':'); var endDateTime = new Date(endDate[0], parseInt(endDate[1], 10)-1, endDate[2], endTime[0], endTime[1], 0, 0); if(startDateTime.getTime() >= endDateTime.getTime()){ @@ -393,17 +397,23 @@ function setAddShowEvents() { $('#add_show_end_time').val(endTimeFormat); // calculate duration - calculateDuration(endDateTime, startDateTime); + var startDateTimeString = startDateString + " " + startTimeString; + var endDateTimeString = $('#add_show_end_date_no_repeat').val() + " " + $('#add_show_end_time').val(); + calculateDuration(startDateTimeString, endDateTimeString); }); // when end date/time changes, check if the changed date is in past of start date/time $('#add_show_end_date_no_repeat, #add_show_end_time').change(function(){ - var startDate = $('#add_show_start_date').val().split('-'); - var startTime = $('#add_show_start_time').val().split(':'); + var startDateString = $('#add_show_start_date').val(); + var startTimeString = $('#add_show_start_time').val(); + var startDate = startDateString.split('-'); + var startTime = startTimeString.split(':'); var startDateTime = new Date(startDate[0], parseInt(startDate[1], 10)-1, startDate[2], startTime[0], startTime[1], 0, 0); - var endDate = $('#add_show_end_date_no_repeat').val().split('-'); - var endTime = $('#add_show_end_time').val().split(':'); + var endDateString = $('#add_show_end_date_no_repeat').val(); + var endTimeString = $('#add_show_end_time').val() + var endDate = endDateString.split('-'); + var endTime = endTimeString.split(':'); var endDateTime = new Date(endDate[0], parseInt(endDate[1], 10)-1, endDate[2], endTime[0], endTime[1], 0, 0); if(startDateTime.getTime() > endDateTime.getTime()){ @@ -415,7 +425,9 @@ function setAddShowEvents() { } // calculate duration - calculateDuration(endDateTime, startDateTime); + var startDateTimeString = startDateString + " " + startTimeString; + var endDateTimeString = endDateString + " " + endTimeString; + calculateDuration(startDateTimeString, endDateTimeString); }); if($('#cb_custom_auth').attr('checked')){ @@ -434,18 +446,9 @@ function setAddShowEvents() { function calculateDuration(endDateTime, startDateTime){ var duration; - var durationSeconds = (endDateTime.getTime() - startDateTime.getTime())/1000; - if(isNaN(durationSeconds)){ - duration = '1h'; - } - else if(durationSeconds != 0){ - var durationHour = parseInt(durationSeconds/3600, 10); - var durationMin = parseInt((durationSeconds%3600)/60, 10); - duration = (durationHour == 0 ? '' : durationHour+'h'+' ')+(durationMin == 0 ? '' : durationMin+'m'); - }else{ - duration = '0m'; - } - $('#add_show_duration').val(duration); + $.post("/Schedule/calculate-duration", {startTime: startDateTime, endTime: endDateTime}, function(data){ + $('#add_show_duration').val(JSON.parse(data)); + }); } } From 28d27b893230c7512c529eff546c3e2379adb95a Mon Sep 17 00:00:00 2001 From: James Date: Wed, 25 Apr 2012 18:01:37 -0400 Subject: [PATCH 7/7] CC-3719: "Start time" check will block editing ON AIR show - fixed --- airtime_mvc/application/controllers/ScheduleController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php index b9b738404..e97b2d7fc 100644 --- a/airtime_mvc/application/controllers/ScheduleController.php +++ b/airtime_mvc/application/controllers/ScheduleController.php @@ -778,6 +778,7 @@ class ScheduleController extends Zend_Controller_Action } $this->view->rr->getElement('add_show_record')->setOptions(array('disabled' => true)); $this->view->addNewShow = false; + $this->view->action = "edit-show"; $this->view->form = $this->view->render('schedule/add-show-form.phtml'); } }