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:
parent
ab99e64e8a
commit
5d0592c729
4 changed files with 20 additions and 24 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue