CC-2511:Phone Home Metric: add error display on popup

- refactoring was needed to solve this problem.
- javascript error check is not necessary anymore.
- The form is preloaded to nowplaying page, only when
it's needed, hence ajax call to pull up the form is not
needed anymore.
This commit is contained in:
james 2011-07-05 15:53:50 -04:00
parent 883cacd220
commit daf6f9963f
6 changed files with 155 additions and 143 deletions

View file

@ -7,6 +7,8 @@ class NowplayingController extends Zend_Controller_Action
{
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->addActionContext('get-data-grid-data', 'json')
->addActionContext('register', 'json')
->addActionContext('remindme', 'json')
->initContext();
}
@ -23,10 +25,46 @@ class NowplayingController extends Zend_Controller_Action
$refer_sses = new Zend_Session_Namespace('referrer');
$userInfo = Zend_Auth::getInstance()->getStorage()->read();
$user = new User($userInfo->id);
if($refer_sses->referrer == 'login' && Application_Model_Nowplaying::ShouldShowPopUp()
&& !Application_Model_Preference::GetSupportFeedback() && $user->isAdmin()){
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/register.js','text/javascript');
$form = new Application_Form_RegisterAirtime();
if ($request->isPost()) {
$values = $request->getPost();
if ($values["Publicise"] == '1' && $form->isValid($values)) {
Application_Model_Preference::SetHeadTitle($values["stnName"], $this->view);
Application_Model_Preference::SetPhone($values["Phone"]);
Application_Model_Preference::SetEmail($values["Email"]);
Application_Model_Preference::SetStationWebSite($values["StationWebSite"]);
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);
Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]);
// unset session
Zend_Session::namespaceUnset('referrer');
}else{
$logo = Application_Model_Preference::GetStationLogo();
if($logo){
$this->view->logoImg = $logo;
}
$this->view->dialog = $form;
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/register.js','text/javascript');
}
}else{
if($refer_sses->referrer == 'login' && Application_Model_Nowplaying::ShouldShowPopUp()
&& !Application_Model_Preference::GetSupportFeedback() && $user->isAdmin()){
$logo = Application_Model_Preference::GetStationLogo();
if($logo){
$this->view->logoImg = $logo;
}
$this->view->dialog = $form;
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/register.js','text/javascript');
}
}
}
@ -53,6 +91,59 @@ class NowplayingController extends Zend_Controller_Action
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/nowplayingdatagrid.js','text/javascript');
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/dayview.js','text/javascript');
}
/*public function registerAction(){
//$request = $this->getRequest();
//$baseUrl = $request->getBaseUrl();
//$this->view->headScript()->appendFile($baseUrl.'/js/airtime/preferences/preferences.js','text/javascript');
$form = new Application_Form_RegisterAirtime();
/*if ($request->isPost()) {
$values = $request->getPost();
if ($values["Publicise"] == '1' && $form->isValid($values)) {
Application_Model_Preference::SetHeadTitle($values["stnName"], $this->view);
Application_Model_Preference::SetPhone($values["Phone"]);
Application_Model_Preference::SetEmail($values["Email"]);
Application_Model_Preference::SetStationWebSite($values["StationWebSite"]);
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);
Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]);
// unset session
Zend_Session::namespaceUnset('referrer');
}
}else
$logo = Application_Model_Preference::GetStationLogo();
if($logo){
$this->view->logoImg = $logo;
}
$this->view->dialog = $form->render($this->view);
//}
}*/
public function remindmeAction()
{
// unset session
Zend_Session::namespaceUnset('referrer');
$now = date("Y-m-d H:i:s");
Application_Model_Preference::SetRemindMeDate($now);
die();
}
public function donotshowpopupAction()
{
// unset session
Zend_Session::namespaceUnset('referrer');
die();
}
}

View file

@ -7,8 +7,8 @@ class PreferenceController extends Zend_Controller_Action
{
/* Initialize action controller here */
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->addActionContext('register', 'json')
->addActionContext('remindme', 'json')
$ajaxContext/*->addActionContext('register', 'json')
->addActionContext('remindme', 'json')*/
->addActionContext('server-browse', 'json')
->addActionContext('change-stor-directory', 'json')
->addActionContext('reload-watch-directory', 'json')
@ -68,61 +68,6 @@ class PreferenceController extends Zend_Controller_Action
$this->view->form = $form;
}
public function registerAction(){
$request = $this->getRequest();
$baseUrl = $request->getBaseUrl();
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/preferences/preferences.js','text/javascript');
$form = new Application_Form_RegisterAirtime();
if ($request->isPost()) {
$values = $request->getPost();
if ($values["Publicise"] == '1' && $form->isValid($values)) {
Application_Model_Preference::SetHeadTitle($values["stnName"], $this->view);
Application_Model_Preference::SetPhone($values["Phone"]);
Application_Model_Preference::SetEmail($values["Email"]);
Application_Model_Preference::SetStationWebSite($values["StationWebSite"]);
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);
}
Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]);
// unset session
Zend_Session::namespaceUnset('referrer');
$this->_redirect('Nowplaying');
}else{
$logo = Application_Model_Preference::GetStationLogo();
if($logo){
$this->view->logoImg = $logo;
}
$this->view->dialog = $form->render($this->view);
}
}
public function remindmeAction()
{
// unset session
Zend_Session::namespaceUnset('referrer');
$now = date("Y-m-d H:i:s");
Application_Model_Preference::SetRemindMeDate($now);
die();
}
public function donotshowpopupAction()
{
// unset session
Zend_Session::namespaceUnset('referrer');
die();
}
public function directoryConfigAction()
{
$request = $this->getRequest();