From 873f7e1dae0c1b5d344fb28499417611782769cd Mon Sep 17 00:00:00 2001 From: James Date: Thu, 18 Aug 2011 15:32:33 -0400 Subject: [PATCH 1/5] CC-2698: upgrading fail from 1.8.2->1.9.0 - fixed version string - deleting entries from cc_schedule before adding "ON CASCADE" constraint --- VERSION | 2 +- airtime_mvc/application/configs/constants.php | 2 +- .../DoctrineMigrations/Version20110711161043.php | 7 +++++++ python_apps/api_clients/api_client.py | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/VERSION b/VERSION index b12c06c18..df9515d6e 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ PRODUCT_ID=Airtime -PRODUCT_RELEASE=1.9.0 +PRODUCT_RELEASE=1.9.1 diff --git a/airtime_mvc/application/configs/constants.php b/airtime_mvc/application/configs/constants.php index 1eb796bf1..28db07932 100644 --- a/airtime_mvc/application/configs/constants.php +++ b/airtime_mvc/application/configs/constants.php @@ -1,6 +1,6 @@ addNamedForeignKeyConstraint('cc_music_dirs_folder_fkey', $cc_music_dirs, array('directory'), array('id'), array('onDelete' => 'CASCADE')); + // before 3) we have to delete all entries in cc_schedule with file_id that are not in cc_file table + $this->_addSql("DELETE FROM cc_schedule WHERE cc_schedule.id NOT IN( + SELECT cc_schedule.id + FROM cc_schedule + LEFT JOIN cc_files + ON cc_schedule.file_id = cc_files.id + WHERE cc_files.id IS NULL)"); /* 3) create a foreign key relationship from cc_schedule to cc_files */ $cc_schedule = $schema->getTable('cc_schedule'); $cc_schedule->addNamedForeignKeyConstraint('cc_files_folder_fkey', $cc_files, array('file_id'), array('id'), array('onDelete' => 'CASCADE')); diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_client.py index ccbfeb909..7456a3550 100644 --- a/python_apps/api_clients/api_client.py +++ b/python_apps/api_clients/api_client.py @@ -21,7 +21,7 @@ from urlparse import urlparse import base64 from configobj import ConfigObj -AIRTIME_VERSION = "1.9.0-devel" +AIRTIME_VERSION = "1.9.1" def api_client_factory(config): logger = logging.getLogger() From 4240d45f5d14367b18f03cad19c3cdce72ddbd6c Mon Sep 17 00:00:00 2001 From: James Date: Thu, 18 Aug 2011 15:39:46 -0400 Subject: [PATCH 2/5] CC-2698: Wrong sql statment - fixed --- install_minimal/DoctrineMigrations/Version20110711161043.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install_minimal/DoctrineMigrations/Version20110711161043.php b/install_minimal/DoctrineMigrations/Version20110711161043.php index 1ab373355..c0bcf1c68 100644 --- a/install_minimal/DoctrineMigrations/Version20110711161043.php +++ b/install_minimal/DoctrineMigrations/Version20110711161043.php @@ -29,7 +29,7 @@ class Version20110711161043 extends AbstractMigration $cc_files->addNamedForeignKeyConstraint('cc_music_dirs_folder_fkey', $cc_music_dirs, array('directory'), array('id'), array('onDelete' => 'CASCADE')); // before 3) we have to delete all entries in cc_schedule with file_id that are not in cc_file table - $this->_addSql("DELETE FROM cc_schedule WHERE cc_schedule.id NOT IN( + $this->_addSql("DELETE FROM cc_schedule WHERE cc_schedule.id IN( SELECT cc_schedule.id FROM cc_schedule LEFT JOIN cc_files From 66d731437a95bf0a71113d6cdc7bb3940c3967f4 Mon Sep 17 00:00:00 2001 From: James Date: Thu, 18 Aug 2011 17:35:31 -0400 Subject: [PATCH 3/5] CC-2664: fix for version 1.9.1 - done --- install_minimal/airtime-install | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/install_minimal/airtime-install b/install_minimal/airtime-install index cc104e775..bf20978d4 100755 --- a/install_minimal/airtime-install +++ b/install_minimal/airtime-install @@ -1,5 +1,11 @@ #!/bin/bash +DEB=$(dpkg -s airtime 2> /dev/null | grep Status) +if [[ "$DEB" = "Status: install ok installed" ]]; then + echo -e "\nDebian package of Airtime detected. Please use the debian package to upgrade.\n" + exit 1 +fi + echo -e "\n******************************** Install Begin *********************************" # Absolute path to this script From 91df62a3dd9151d769f4fcf40adc8755e475ea3c Mon Sep 17 00:00:00 2001 From: James Date: Thu, 18 Aug 2011 17:48:21 -0400 Subject: [PATCH 4/5] CC-2684: fix for 1.9.1 - done --- install_minimal/airtime-install | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/install_minimal/airtime-install b/install_minimal/airtime-install index bf20978d4..d1e5afa67 100755 --- a/install_minimal/airtime-install +++ b/install_minimal/airtime-install @@ -14,6 +14,7 @@ SCRIPT=`readlink -f $0` SCRIPTPATH=`dirname $SCRIPT` VIRTUAL_ENV_DIR="/usr/lib/airtime/airtime_virtualenv" +VIRTUAL_ENV_SHARE="/usr/share/python-virtualenv/" if [ ! -d "$VIRTUAL_ENV_DIR" ]; then echo -e "\n*** Creating Virtualenv for Airtime ***" EXTRAOPTION=$(virtualenv --help | grep extra-search-dir) @@ -21,9 +22,11 @@ if [ ! -d "$VIRTUAL_ENV_DIR" ]; then if [ "$?" -eq "0" ]; then sudo virtualenv --extra-search-dir=${SCRIPTPATH}/3rd_party --no-site-package -p /usr/bin/python2.6 /usr/lib/airtime/airtime_virtualenv else - # copy distibute-0.6.10.tar.gz to /usr/share/python-virtualenv/ + # copy distribute-0.6.10.tar.gz to /usr/share/python-virtualenv/ # this is due to the bug in virtualenv 1.4.9 - cp ${SCRIPTPATH}/3rd_party/distribute-0.6.10.tar.gz /usr/share/python-virtualenv/ + if [ -d "$VIRTUAL_ENV_SHARE" ]; then + cp ${SCRIPTPATH}/3rd_party/distribute-0.6.10.tar.gz /usr/share/python-virtualenv/ + fi sudo virtualenv --no-site-package -p /usr/bin/python2.6 /usr/lib/airtime/airtime_virtualenv fi From d83f9f1b967f7ccfa63049737e4e2a3bf0a2e781 Mon Sep 17 00:00:00 2001 From: James Date: Thu, 18 Aug 2011 18:58:59 -0400 Subject: [PATCH 5/5] CC-2701: Separate Support Settings from Preference page - done. --- .../application/configs/navigation.php | 6 ++ .../controllers/PreferenceController.php | 60 +++++++++------ airtime_mvc/application/forms/Preferences.php | 4 +- ...ortPreferences.php => SupportSettings.php} | 14 +++- .../views/scripts/form/preferences.phtml | 5 -- ...es_support.phtml => support-setting.phtml} | 12 +-- .../scripts/preference/support-setting.phtml | 12 +++ .../js/airtime/preferences/preferences.js | 61 ---------------- .../js/airtime/preferences/support-setting.js | 73 +++++++++++++++++++ 9 files changed, 149 insertions(+), 98 deletions(-) rename airtime_mvc/application/forms/{SupportPreferences.php => SupportSettings.php} (89%) rename airtime_mvc/application/views/scripts/form/{preferences_support.phtml => support-setting.phtml} (96%) create mode 100644 airtime_mvc/application/views/scripts/preference/support-setting.phtml create mode 100644 airtime_mvc/public/js/airtime/preferences/support-setting.js diff --git a/airtime_mvc/application/configs/navigation.php b/airtime_mvc/application/configs/navigation.php index 4f2c3ea8b..1fc7dc059 100644 --- a/airtime_mvc/application/configs/navigation.php +++ b/airtime_mvc/application/configs/navigation.php @@ -58,6 +58,12 @@ $pages = array( 'module' => 'default', 'controller' => 'Preference', 'action' => 'directory-config' + ), + array( + 'label' => 'Support Settings', + 'module' => 'default', + 'controller' => 'Preference', + 'action' => 'support-setting' ) ) ), diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index cf5d29b1b..8063ef820 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -7,9 +7,7 @@ class PreferenceController extends Zend_Controller_Action { /* Initialize action controller here */ $ajaxContext = $this->_helper->getHelper('AjaxContext'); - $ajaxContext/*->addActionContext('register', 'json') - ->addActionContext('remindme', 'json')*/ - ->addActionContext('server-browse', 'json') + $ajaxContext->addActionContext('server-browse', 'json') ->addActionContext('change-stor-directory', 'json') ->addActionContext('reload-watch-directory', 'json') ->addActionContext('remove-watch-directory', 'json') @@ -45,30 +43,50 @@ class PreferenceController extends Zend_Controller_Action Application_Model_Preference::SetSoundCloudLicense($values["preferences_soundcloud"]["SoundCloudLicense"]); - Application_Model_Preference::SetPhone($values["preferences_support"]["Phone"]); - Application_Model_Preference::SetEmail($values["preferences_support"]["Email"]); - Application_Model_Preference::SetStationWebSite($values["preferences_support"]["StationWebSite"]); - Application_Model_Preference::SetSupportFeedback($values["preferences_support"]["SupportFeedback"]); - Application_Model_Preference::SetPublicise($values["preferences_support"]["Publicise"]); - - $form->getSubForm('preferences_support')->Logo->receive(); - $imagePath = $form->getSubForm('preferences_support')->Logo->getFileName(); - - Application_Model_Preference::SetStationCountry($values["preferences_support"]["Country"]); - Application_Model_Preference::SetStationCity($values["preferences_support"]["City"]); - Application_Model_Preference::SetStationDescription($values["preferences_support"]["Description"]); - Application_Model_Preference::SetStationLogo($imagePath); - $this->view->statusMsg = "
Preferences updated.
"; } } - $logo = Application_Model_Preference::GetStationLogo(); - if($logo){ - $this->view->logoImg = $logo; - } $this->view->form = $form; } + public function supportSettingAction() + { + $request = $this->getRequest(); + $baseUrl = $request->getBaseUrl(); + + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/preferences/support-setting.js','text/javascript'); + $this->view->statusMsg = ""; + + $form = new Application_Form_SupportSettings(); + + if ($request->isPost()) { + if ($form->isValid($request->getPost())) { + $values = $form->getValues(); + + Application_Model_Preference::SetPhone($values["Phone"]); + Application_Model_Preference::SetEmail($values["Email"]); + Application_Model_Preference::SetStationWebSite($values["StationWebSite"]); + Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]); + Application_Model_Preference::SetPublicise($values["Publicise"]); + + $form->Logo->receive(); + $imagePath = $form->Logo->getFileName(); + + Application_Model_Preference::SetStationCountry($values["Country"]); + Application_Model_Preference::SetStationCity($values["City"]); + Application_Model_Preference::SetStationDescription($values["Description"]); + Application_Model_Preference::SetStationLogo($imagePath); + + $this->view->statusMsg = "
Support setting updated.
"; + } + } + $logo = Application_Model_Preference::GetStationLogo(); + if($logo){ + $this->view->logoImg = $logo; + } + $this->view->form = $form; + } + public function directoryConfigAction() { $request = $this->getRequest(); diff --git a/airtime_mvc/application/forms/Preferences.php b/airtime_mvc/application/forms/Preferences.php index 963a58717..0fa9f0b58 100644 --- a/airtime_mvc/application/forms/Preferences.php +++ b/airtime_mvc/application/forms/Preferences.php @@ -18,8 +18,8 @@ class Application_Form_Preferences extends Zend_Form $soundcloud_pref = new Application_Form_SoundcloudPreferences(); $this->addSubForm($soundcloud_pref, 'preferences_soundcloud'); - $support_pref = new Application_Form_SupportPreferences(); - $this->addSubForm($support_pref, 'preferences_support'); + /*$support_pref = new Application_Form_SupportPreferences(); + $this->addSubForm($support_pref, 'preferences_support');*/ $this->addElement('submit', 'submit', array( 'class' => 'ui-button ui-state-default right-floated', diff --git a/airtime_mvc/application/forms/SupportPreferences.php b/airtime_mvc/application/forms/SupportSettings.php similarity index 89% rename from airtime_mvc/application/forms/SupportPreferences.php rename to airtime_mvc/application/forms/SupportSettings.php index 62c6496cf..76618732d 100644 --- a/airtime_mvc/application/forms/SupportPreferences.php +++ b/airtime_mvc/application/forms/SupportSettings.php @@ -1,6 +1,6 @@ setDecorators(array( - array('ViewScript', array('viewScript' => 'form/preferences_support.phtml')), - array('File', array('viewScript' => 'form/preferences_support.phtml', 'placement' => false))) + array('ViewScript', array('viewScript' => 'form/support-setting.phtml')), + array('File', array('viewScript' => 'form/support-setting.phtml', 'placement' => false))) ); // Phone number @@ -134,6 +134,14 @@ class Application_Form_SupportPreferences extends Zend_Form_SubForm $checkboxPrivacy->setLabel("By checking this box, I agree to Sourcefabric's privacy policy.") ->setDecorators(array('ViewHelper')); $this->addElement($checkboxPrivacy); + + // submit button + $submit = new Zend_Form_Element_Submit("submit"); + $submit->class = 'ui-button ui-state-default right-floated'; + $submit->setIgnore(true) + ->setLabel("Submit") + ->setDecorators(array('ViewHelper')); + $this->addElement($submit); } // overwriting isValid function diff --git a/airtime_mvc/application/views/scripts/form/preferences.phtml b/airtime_mvc/application/views/scripts/form/preferences.phtml index f1a8be62b..d6d20ea00 100644 --- a/airtime_mvc/application/views/scripts/form/preferences.phtml +++ b/airtime_mvc/application/views/scripts/form/preferences.phtml @@ -9,11 +9,6 @@ element->getSubform('preferences_soundcloud') ?> -

Support Settings

- -
element->getElement('submit') ?>
diff --git a/airtime_mvc/application/views/scripts/form/preferences_support.phtml b/airtime_mvc/application/views/scripts/form/support-setting.phtml similarity index 96% rename from airtime_mvc/application/views/scripts/form/preferences_support.phtml rename to airtime_mvc/application/views/scripts/form/support-setting.phtml index d0e100f42..0a7c9e0e8 100644 --- a/airtime_mvc/application/views/scripts/form/preferences_support.phtml +++ b/airtime_mvc/application/views/scripts/form/support-setting.phtml @@ -30,10 +30,10 @@ - - -

Note: In order to promote your station, "Send support feedback" must be enabled

- +

Note: In order to promote your station, "Send support feedback" must be enabled

+