From a72343046262e34aea13b6dfe72e231b669b96ce Mon Sep 17 00:00:00 2001 From: James Date: Tue, 15 Nov 2011 16:10:40 -0500 Subject: [PATCH] SAAS-69: Support Settings: Change/hide some sections for SaaS - Some sections are hidden when saas is enabeld as described in the ticket. --- airtime_mvc/application/Bootstrap.php | 3 +- .../application/configs/navigation.php | 3 +- .../controllers/PreferenceController.php | 15 ++- .../application/forms/SupportSettings.php | 105 ++++++++++-------- .../views/scripts/form/support-setting.phtml | 10 +- .../scripts/preference/support-setting.phtml | 2 +- 6 files changed, 78 insertions(+), 60 deletions(-) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 458d45837..58dd217eb 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -1,6 +1,5 @@ setFetchMode(DB_FETCHMODE_ASSOC); +require_once __DIR__."/configs/navigation.php"; + //DateTime in PHP 5.3.0+ need a default timezone set. date_default_timezone_set(Application_Model_Preference::GetTimezone()); diff --git a/airtime_mvc/application/configs/navigation.php b/airtime_mvc/application/configs/navigation.php index ecf8282d0..82037006a 100644 --- a/airtime_mvc/application/configs/navigation.php +++ b/airtime_mvc/application/configs/navigation.php @@ -67,7 +67,8 @@ $pages = array( 'action' => 'stream-setting' ), array( - 'label' => 'Support Settings', + 'label' => + Application_Model_Preference::GetPlanLevel() == 'disabled'?'Support Settings':'Station Information 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 3f5617e3f..1d3376350 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -63,12 +63,14 @@ class PreferenceController extends Zend_Controller_Action $this->view->headScript()->appendFile($baseUrl.'/js/airtime/preferences/support-setting.js','text/javascript'); $this->view->statusMsg = ""; + $isSass = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true; + $form = new Application_Form_SupportSettings(); - + if ($request->isPost()) { $values = $request->getPost(); if ($form->isValid($values)) { - if ($values["Publicise"] != 1){ + if (!$isSass && $values["Publicise"] != 1){ Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]); if(isset($values["Privacy"])){ Application_Model_Preference::SetPrivacyPolicyCheck($values["Privacy"]); @@ -78,8 +80,10 @@ class PreferenceController extends Zend_Controller_Action 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"]); + if(!$isSass){ + Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]); + Application_Model_Preference::SetPublicise($values["Publicise"]); + } $form->Logo->receive(); $imagePath = $form->Logo->getFileName(); @@ -88,7 +92,7 @@ class PreferenceController extends Zend_Controller_Action Application_Model_Preference::SetStationCity($values["City"]); Application_Model_Preference::SetStationDescription($values["Description"]); Application_Model_Preference::SetStationLogo($imagePath); - if(isset($values["Privacy"])){ + if(!$isSass && isset($values["Privacy"])){ Application_Model_Preference::SetPrivacyPolicyCheck($values["Privacy"]); } } @@ -104,6 +108,7 @@ class PreferenceController extends Zend_Controller_Action $privacyChecked = true; } $this->view->privacyChecked = $privacyChecked; + $this->view->section_title = Application_Model_Preference::GetPlanLevel() == 'disabled'?'Support Settings':'Station Information Settings'; $this->view->form = $form; //$form->render($this->view); } diff --git a/airtime_mvc/application/forms/SupportSettings.php b/airtime_mvc/application/forms/SupportSettings.php index ab97000e7..54f8c6e92 100644 --- a/airtime_mvc/application/forms/SupportSettings.php +++ b/airtime_mvc/application/forms/SupportSettings.php @@ -4,13 +4,16 @@ require_once 'customfilters/ImageSize.php'; class Application_Form_SupportSettings extends Zend_Form { - + private $isSass; + public function init() { $country_list = Application_Model_Preference::GetCountryList(); + $isSass = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true; + $this->isSass = $isSass; $this->setDecorators(array( - array('ViewScript', array('viewScript' => 'form/support-setting.phtml')), + array('ViewScript', array('viewScript' => 'form/support-setting.phtml', "isSaas" => $isSass)), array('File', array('viewScript' => 'form/support-setting.phtml', 'placement' => false))) ); @@ -106,46 +109,48 @@ class Application_Form_SupportSettings extends Zend_Form $upload->setAttrib('accept', 'image/jpeg,image/gif,image/png,image/jpg'); $this->addElement($upload); - //enable support feedback - $this->addElement('checkbox', 'SupportFeedback', array( - 'label' => 'Send support feedback', - 'required' => false, - 'value' => Application_Model_Preference::GetSupportFeedback(), - 'decorators' => array( - 'ViewHelper' - ) - )); - - // checkbox for publicise - $checkboxPublicise = new Zend_Form_Element_Checkbox("Publicise"); - $checkboxPublicise->setLabel('Promote my station on Sourcefabric.org') - ->setRequired(false) - ->setDecorators(array('ViewHelper')) - ->setValue(Application_Model_Preference::GetPublicise()); - if(Application_Model_Preference::GetSupportFeedback() == '0'){ - $checkboxPublicise->setAttrib("disabled", "disabled"); + if(!$isSass){ + //enable support feedback + $this->addElement('checkbox', 'SupportFeedback', array( + 'label' => 'Send support feedback', + 'required' => false, + 'value' => Application_Model_Preference::GetSupportFeedback(), + 'decorators' => array( + 'ViewHelper' + ) + )); + + // checkbox for publicise + $checkboxPublicise = new Zend_Form_Element_Checkbox("Publicise"); + $checkboxPublicise->setLabel('Promote my station on Sourcefabric.org') + ->setRequired(false) + ->setDecorators(array('ViewHelper')) + ->setValue(Application_Model_Preference::GetPublicise()); + if(Application_Model_Preference::GetSupportFeedback() == '0'){ + $checkboxPublicise->setAttrib("disabled", "disabled"); + } + $this->addElement($checkboxPublicise); + + // text area for sending detail + $this->addElement('textarea', 'SendInfo', array( + 'class' => 'sending_textarea', + 'required' => false, + 'filters' => array('StringTrim'), + 'readonly' => true, + 'cols' => 61, + 'rows' => 5, + 'value' => Application_Model_Preference::GetSystemInfo(), + 'decorators' => array( + 'ViewHelper' + ) + )); + + // checkbox for privacy policy + $checkboxPrivacy = new Zend_Form_Element_Checkbox("Privacy"); + $checkboxPrivacy->setLabel("By checking this box, I agree to Sourcefabric's privacy policy.") + ->setDecorators(array('ViewHelper')); + $this->addElement($checkboxPrivacy); } - $this->addElement($checkboxPublicise); - - // text area for sending detail - $this->addElement('textarea', 'SendInfo', array( - 'class' => 'sending_textarea', - 'required' => false, - 'filters' => array('StringTrim'), - 'readonly' => true, - 'cols' => 61, - 'rows' => 5, - 'value' => Application_Model_Preference::GetSystemInfo(), - 'decorators' => array( - 'ViewHelper' - ) - )); - - // checkbox for privacy policy - $checkboxPrivacy = new Zend_Form_Element_Checkbox("Privacy"); - $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"); @@ -160,14 +165,16 @@ class Application_Form_SupportSettings extends Zend_Form public function isValid ($data) { $isValid = parent::isValid($data); - if($data['Publicise'] != 1){ - $isValid = true; - } - if(isset($data["Privacy"])){ - $checkPrivacy = $this->getElement('Privacy'); - if($data["SupportFeedback"] == "1" && $data["Privacy"] != "1"){ - $checkPrivacy->addError("You have to agree to privacy policy."); - $isValid = false; + if(!$this->isSass){ + if($data['Publicise'] != 1){ + $isValid = true; + } + if(isset($data["Privacy"])){ + $checkPrivacy = $this->getElement('Privacy'); + if($data["SupportFeedback"] == "1" && $data["Privacy"] != "1"){ + $checkPrivacy->addError("You have to agree to privacy policy."); + $isValid = false; + } } } return $isValid; diff --git a/airtime_mvc/application/views/scripts/form/support-setting.phtml b/airtime_mvc/application/views/scripts/form/support-setting.phtml index e4b1621c4..ac3afbf7f 100644 --- a/airtime_mvc/application/views/scripts/form/support-setting.phtml +++ b/airtime_mvc/application/views/scripts/form/support-setting.phtml @@ -1,4 +1,5 @@
+isSaas ){?>
Help Airtime improve by letting us know you are using it. This info @@ -32,8 +33,9 @@
-

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

-
+

element->getView()->privacyChecked){?> @@ -175,4 +178,5 @@ Terms and Conditions
+ diff --git a/airtime_mvc/application/views/scripts/preference/support-setting.phtml b/airtime_mvc/application/views/scripts/preference/support-setting.phtml index 1bc60e81e..8b4ba2055 100644 --- a/airtime_mvc/application/views/scripts/preference/support-setting.phtml +++ b/airtime_mvc/application/views/scripts/preference/support-setting.phtml @@ -1,5 +1,5 @@
-

Support Settings

+

section_title?>

statusMsg ?>