From dcdbc3160d71e1c26e5dc318c68e9c1215acb296 Mon Sep 17 00:00:00 2001 From: James <james@sourcefabric-DX4840.(none)> Date: Wed, 2 Jan 2013 11:41:33 -0500 Subject: [PATCH] CC-4769: Duplicate Playlist: Fade in/out setting doesn't get copied correctly - fixed --- airtime_mvc/application/controllers/LibraryController.php | 3 ++- airtime_mvc/application/models/Playlist.php | 8 ++------ .../application/models/airtime/CcPlaylistcontents.php | 6 ++++-- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index 271eac46c..738fa29de 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -367,7 +367,8 @@ class LibraryController extends Zend_Controller_Action $newPl->setDescription($originalPl->getDescription()); list($plFadeIn, ) = $originalPl->getFadeInfo(0); - list($plFadeOut, ) = $originalPl->getFadeInfo($originalPl->getSize()-1); + list(, $plFadeOut) = $originalPl->getFadeInfo($originalPl->getSize()-1); + $newPl->setfades($plFadeIn, $plFadeOut); $newPl->setName("Copy of ".$originalPl->getName()); } diff --git a/airtime_mvc/application/models/Playlist.php b/airtime_mvc/application/models/Playlist.php index fc1099837..01595acc7 100644 --- a/airtime_mvc/application/models/Playlist.php +++ b/airtime_mvc/application/models/Playlist.php @@ -635,7 +635,7 @@ SQL; //setting it to nonNull for checks down below $fadeIn = $fadeIn?'00:00:'.$fadeIn:$fadeIn; $fadeOut = $fadeOut?'00:00:'.$fadeOut:$fadeOut; - + $this->con->beginTransaction(); try { @@ -646,7 +646,6 @@ SQL; } $clipLength = $row->getDbCliplength(); - if (!is_null($fadeIn)) { $sql = "SELECT :fadein::INTERVAL > INTERVAL '{$clipLength}'"; @@ -665,11 +664,9 @@ SQL; } $row->setDbFadeout($fadeOut); } - - $row->save($this->con); $this->pl->setDbMtime(new DateTime("now", new DateTimeZone("UTC"))); $this->pl->save($this->con); - + $this->con->commit(); } catch (Exception $e) { $this->con->rollback(); @@ -690,7 +687,6 @@ SQL; $this->changeFadeInfo($row->getDbId(), $fadein, null); } - if (isset($fadeout)) { Logging::info("Setting playlist fade out {$fadeout}"); $row = CcPlaylistcontentsQuery::create() diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcontents.php b/airtime_mvc/application/models/airtime/CcPlaylistcontents.php index ab0aa6d56..e7f6eb97d 100644 --- a/airtime_mvc/application/models/airtime/CcPlaylistcontents.php +++ b/airtime_mvc/application/models/airtime/CcPlaylistcontents.php @@ -68,7 +68,8 @@ class CcPlaylistcontents extends BaseCcPlaylistcontents { $this->fadein = $dt->format('H:i:s').".".$microsecond; } $this->modifiedColumns[] = CcPlaylistcontentsPeer::FADEIN; - + $this->save(); + return $this; } // setDbFadein() @@ -105,7 +106,8 @@ class CcPlaylistcontents extends BaseCcPlaylistcontents { $this->fadeout = $dt->format('H:i:s').".".$microsecond; } $this->modifiedColumns[] = CcPlaylistcontentsPeer::FADEOUT; - + $this->save(); + return $this; } // setDbFadeout()