diff --git a/airtime_mvc/application/controllers/downgrade_sql/airtime_3.0.0-alpha.2/downgrade.sql b/airtime_mvc/application/controllers/downgrade_sql/airtime_3.0.0-alpha.2/downgrade.sql new file mode 100644 index 000000000..c018cd9d8 --- /dev/null +++ b/airtime_mvc/application/controllers/downgrade_sql/airtime_3.0.0-alpha.2/downgrade.sql @@ -0,0 +1 @@ +ALTER TABLE cc_show DROP COLUMN IF EXISTS autoplaylist_repeat; diff --git a/airtime_mvc/application/controllers/upgrade_sql/airtime_3.0.0-alpha.2/upgrade.sql b/airtime_mvc/application/controllers/upgrade_sql/airtime_3.0.0-alpha.2/upgrade.sql new file mode 100644 index 000000000..1a705ffc9 --- /dev/null +++ b/airtime_mvc/application/controllers/upgrade_sql/airtime_3.0.0-alpha.2/upgrade.sql @@ -0,0 +1 @@ +ALTER TABLE cc_show ADD COLUMN autoplaylist_repeat boolean default 'f' NOT NULL; diff --git a/airtime_mvc/application/forms/AddShowAutoPlaylist.php b/airtime_mvc/application/forms/AddShowAutoPlaylist.php index a77cb05b4..bb4cead12 100644 --- a/airtime_mvc/application/forms/AddShowAutoPlaylist.php +++ b/airtime_mvc/application/forms/AddShowAutoPlaylist.php @@ -27,6 +27,13 @@ class Application_Form_AddShowAutoPlaylist extends Zend_Form_SubForm $autoPlaylistSelect->setValue(null); $autoPlaylistSelect->setDecorators(array('ViewHelper')); $this->addElement($autoPlaylistSelect); + // Add autoplaylist checkbox element + $this->addElement('checkbox', 'add_show_autoplaylist_repeat', array( + 'label' => _('Repeat AutoPlaylist Until Show is Full ?'), + 'required' => false, + 'class' => 'input_text', + 'decorators' => array('ViewHelper') + )); } public function disable() diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php index 9fbe4f759..8fdfeec0a 100644 --- a/airtime_mvc/application/models/Show.php +++ b/airtime_mvc/application/models/Show.php @@ -135,6 +135,13 @@ class Application_Model_Show $hasAutoPlaylist = $show->getDbHasAutoPlaylist(); return $hasAutoPlaylist; } + + public function getAutoPlaylistRepeat() { + $show = CcShowQuery::create()->findPK($this->_showId); + $AutoPlaylistRepeat = $show->getDbAutoPlaylistRepeat(); + return $AutoPlaylistRepeat; + } + public function setHasAutoPlaylist($value) { diff --git a/airtime_mvc/application/models/ShowInstance.php b/airtime_mvc/application/models/ShowInstance.php index a87d53951..f5db2f886 100644 --- a/airtime_mvc/application/models/ShowInstance.php +++ b/airtime_mvc/application/models/ShowInstance.php @@ -96,7 +96,15 @@ SQL; return $show->getDbAutoPlaylistId(); } - + + public function getAutoPlaylistRepeat() + { + $show = CcShowQuery::create()->findPK($this->getShowId()); + return $show->getDbAutoPlaylistRepeat(); + + } + + /** * Return the start time of the Show (UTC time) * @return string in format DEFAULT_TIMESTAMP_FORMAT (PHP time notation) diff --git a/airtime_mvc/application/models/airtime/CcShow.php b/airtime_mvc/application/models/airtime/CcShow.php index a9e36ca19..8ce596c34 100644 --- a/airtime_mvc/application/models/airtime/CcShow.php +++ b/airtime_mvc/application/models/airtime/CcShow.php @@ -321,6 +321,7 @@ class CcShow extends BaseCcShow { $info['linked'] = $this->getDbLinked(); $info['has_autoplaylist'] = $this->getDbHasAutoPlaylist(); $info['autoplaylist_id'] = $this->getDbAutoPlaylistId(); + $info['autoplaylist_repeat'] = $this->getDbAutoPlaylistRepeat(); return $info; } diff --git a/airtime_mvc/application/services/ShowFormService.php b/airtime_mvc/application/services/ShowFormService.php index 4489f70f0..765058825 100644 --- a/airtime_mvc/application/services/ShowFormService.php +++ b/airtime_mvc/application/services/ShowFormService.php @@ -153,7 +153,8 @@ class Application_Service_ShowFormService $form->populate( array( 'add_show_has_autoplaylist' => $this->ccShow->getDbHasAutoPlaylist() ? 1 : 0, - 'add_show_autoplaylist_id' => $this->ccShow->getDbAutoPlaylistId() + 'add_show_autoplaylist_id' => $this->ccShow->getDbAutoPlaylistId(), + 'add_show_autoplaylist_repeat' => $this->ccShow->getDbAutoPlaylistRepeat() )); } diff --git a/airtime_mvc/application/services/ShowService.php b/airtime_mvc/application/services/ShowService.php index b4e8c949b..61cfddc76 100644 --- a/airtime_mvc/application/services/ShowService.php +++ b/airtime_mvc/application/services/ShowService.php @@ -1541,6 +1541,7 @@ SQL; $ccShow->setDbLiveStreamUser($showData['custom_username']); $ccShow->setDbLiveStreamPass($showData['custom_password']); $ccShow->setDbHasAutoPlaylist($showData['add_show_has_autoplaylist'] == 1); + $ccShow->setDbAutoPlaylistRepeat($showData['add_show_autoplaylist_repeat'] == 1); // added to prevent errors with insert due to a lack of data if ($showData['add_show_autoplaylist_id'] != '') { $ccShow->setDbAutoPlaylistId($showData['add_show_autoplaylist_id']); diff --git a/airtime_mvc/application/upgrade/Upgrades.php b/airtime_mvc/application/upgrade/Upgrades.php index f5d70ef96..08e97bd73 100644 --- a/airtime_mvc/application/upgrade/Upgrades.php +++ b/airtime_mvc/application/upgrade/Upgrades.php @@ -519,3 +519,15 @@ class AirtimeUpgrader300alpha1 extends AirtimeUpgrader return '3.0.0-alpha.1'; } } +class AirtimeUpgrader300alpha2 extends AirtimeUpgrader +{ + protected function getSupportedSchemaVersions() { + return array( + '3.0.0-alpha' + ); + } + + public function getNewVersion() { + return '3.0.0-alpha.2'; + } +} diff --git a/airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml b/airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml index 9410a4b7e..5d5eda5f6 100644 --- a/airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml +++ b/airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml @@ -18,5 +18,17 @@