CC-4454: Show deleting: if you do 'delete this instance and all following', it doesn't remove entries from cc_schedule table

-fixed
This commit is contained in:
Martin Konecny 2012-09-17 12:32:39 -04:00
parent ab99e64e8a
commit 5d0592c729
4 changed files with 20 additions and 24 deletions

View file

@ -192,6 +192,7 @@ class ScheduleController extends Zend_Controller_Action
try {
$showInstance = new Application_Model_ShowInstance($showInstanceId);
} catch (Exception $e) {
Logging::info($e->getMessage());
$this->view->show_error = true;
return false;

View file

@ -558,6 +558,7 @@ WHERE st.ends > :startTime1
AND st.starts < :endTime
AND st.playout_status > 0
AND si.ends > :startTime2
AND si.modified_instance = 'f'
ORDER BY st.starts
SQL;
@ -578,6 +579,7 @@ WHERE st.ends > :startTime1
AND st.starts < :rangeEnd
AND st.playout_status > 0
AND si.ends > :startTime2
AND si.modified_instance = 'f'
ORDER BY st.starts LIMIT 3
SQL;

View file

@ -275,8 +275,6 @@ SQL;
public function cancelShow($day_timestamp)
{
$con = Propel::getConnection();
$timeinfo = explode(" ", $day_timestamp);
CcShowDaysQuery::create()
@ -284,29 +282,22 @@ SQL;
->update(array('DbLastShow' => $timeinfo[0]));
$sql = <<<SQL
UPDATE cc_show_instances
SET modified_instance = TRUE
SELECT id from cc_show_instances
WHERE starts >= :dayTimestamp::TIMESTAMP
AND show_id = :showId
SQL;
Application_Common_Database::prepareAndExecute( $sql, array(
$rows = Application_Common_Database::prepareAndExecute( $sql, array(
':dayTimestamp' => $day_timestamp,
':showId' => $this->getId()), 'execute');
':showId' => $this->getId()), 'all');
// check if we can safely delete the show
$showInstancesRow = CcShowInstancesQuery::create()
->filterByDbShowId($this->_showId)
->filterByDbModifiedInstance(false)
->findOne();
if (is_null($showInstancesRow)) {
$sql = <<<SQL
DELETE FROM cc_show WHERE id = :show_id
SQL;
Application_Common_Database::prepareAndExecute(
$sql, array( 'show_id' => $this->_showId ), "execute");
$con->exec($sql);
foreach ($rows as $row) {
try {
$showInstance = new Application_Model_ShowInstance($row["id"]);
$showInstance->delete($rabbitmqPush = false);
} catch (Exception $e) {
Logging::info($e->getMessage());
}
}
Application_Model_RabbitMq::PushSchedule();

View file

@ -518,7 +518,7 @@ SQL;
return false;
}
public function delete()
public function delete($rabbitmqPush = true)
{
// see if it was recording show
$recording = $this->isRecorded();
@ -568,8 +568,10 @@ SQL;
}
}
if ($rabbitmqPush) {
Application_Model_RabbitMq::PushSchedule();
}
}
public function setRecordedFile($file_id)
{