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()