CC-4461: Now Playing: Timeline does not reflect the changes on Show start time (which is changed from Calendar->Edit Show)

- fixed
This commit is contained in:
James 2012-09-18 15:47:37 -04:00
parent 859041bcf4
commit eecc90547d
3 changed files with 9 additions and 7 deletions

View File

@ -783,6 +783,8 @@ class ScheduleController extends Zend_Controller_Action
$data['add_show_instance_id']);
if ($success) {
$scheduler = new Application_Model_Scheduler();
$scheduler->removeGaps($data['add_show_instance_id']);
$this->view->addNewShow = true;
$this->view->newForm = $this->view->render('schedule/add-show-form.phtml');
} else {

View File

@ -331,7 +331,7 @@ class Application_Model_Scheduler
* This function squeezes all items of a show together so that
* there are no gaps between them.
*/
private function removeGaps($showInstance, $exclude=null)
public function removeGaps($showInstance, $exclude=null)
{
Logging::info("removing gaps from show instance #".$showInstance);

View File

@ -187,12 +187,12 @@ SQL;
if ($diff != 0) {
$sql = <<<SQL
UPDATE cc_schedule
SET starts = starts + INTERVAL :diff1 SECOND,
ends = ends + INTERVAL :diff2 SECOND
SET starts = starts + :diff1::INTERVAL SECOND,
ends = ends + :diff2::INTERVAL SECOND
WHERE instance_id = :instanceId
SQL;
Application_Common_Database::prepareAndExecute($sql,
array(
array(
':diff1' => $diff,
':diff2' => $diff,
':instanceId' => $instance_id ), 'execute');
@ -345,7 +345,7 @@ SQL;
//$sql = "SELECT timestamp '{$ends}' + interval '{$deltaDay} days' + interval '{$hours}:{$mins}'";
$sql = "SELECT timestamp :ends + interval :deltaDays + interval :deltaTime";
$now_ends = Application_Common_Database::prepareAndExecute($sql,
$now_ends = Application_Common_Database::prepareAndExecute($sql,
array(':ends' => $ends,
':deltaDays' => "$deltaDay days",
':deltaTime' => "{$hours}:{$mins}"), 'column'
@ -765,7 +765,7 @@ WHERE si.ends < :timeNow::TIMESTAMP
AND si.modified_instance = 'f'
ORDER BY si.ends DESC LIMIT 1;
SQL;
$id = Application_Common_Database( $sql, array(
$id = Application_Common_Database( $sql, array(
':timeNow' => $p_timeNow ), 'column' );
return ($id ? new Application_Model_ShowInstance($id) : null );
@ -818,7 +818,7 @@ SELECT count(*) AS cnt
FROM cc_show_instances
WHERE ends < :day
SQL;
return Application_Common_Database::prepareAndExecute( $sql,
return Application_Common_Database::prepareAndExecute( $sql,
array( ':day' => $day ), 'column' );
}