CC-1724:Phone home statistics

- Popup form validation is added( javascript )
This commit is contained in:
james 2011-06-16 14:26:24 -04:00
parent 5adfb79981
commit 1fbaa7d5fb
4 changed files with 86 additions and 37 deletions

View file

@ -23,8 +23,6 @@ class NowplayingController extends Zend_Controller_Action
$refer_sses = new Zend_Session_Namespace('referrer'); $refer_sses = new Zend_Session_Namespace('referrer');
if($refer_sses->referrer == 'login' && Application_Model_Nowplaying::ShouldShowPopUp() if($refer_sses->referrer == 'login' && Application_Model_Nowplaying::ShouldShowPopUp()
&& !Application_Model_Preference::GetSupportFeedback()){ && !Application_Model_Preference::GetSupportFeedback()){
//unset session
Zend_Session::namespaceUnset('referrer');
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/register.js','text/javascript'); $this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/register.js','text/javascript');
} }
} }

View file

@ -75,21 +75,49 @@ class PreferenceController extends Zend_Controller_Action
$form = new Application_Form_RegisterAirtime(); $form = new Application_Form_RegisterAirtime();
$logo = Application_Model_Preference::GetStationLogo(); if ($request->isPost()) {
if($logo){
$this->view->logoImg = $logo; if ($form->isValid($request->getPost())) {
}
$values = $form->getValues();
$this->view->dialog = $form->render($this->view); var_dump($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"]);
$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(){ public function remindmeAction(){
// unset session
Zend_Session::namespaceUnset('referrer');
$now = date("Y-m-d H:i:s"); $now = date("Y-m-d H:i:s");
Application_Model_Preference::SetRemindMeDate($now); Application_Model_Preference::SetRemindMeDate($now);
die(); die();
} }
public function registersubmitAction(){ /*public function registersubmitAction(){
$request = $this->getRequest(); $request = $this->getRequest();
$baseUrl = $request->getBaseUrl(); $baseUrl = $request->getBaseUrl();
@ -97,9 +125,7 @@ class PreferenceController extends Zend_Controller_Action
$this->view->statusMsg = ""; $this->view->statusMsg = "";
$form = new Application_Form_RegisterAirtime(); $form = new Application_Form_RegisterAirtime();
var_dump($request->getPost());
var_dump($form->isValid($request->getPost()));
var_dump($form->getMessages());
if ($request->isPost()) { if ($request->isPost()) {
if ($form->isValid($request->getPost())) { if ($form->isValid($request->getPost())) {
@ -119,10 +145,13 @@ class PreferenceController extends Zend_Controller_Action
Application_Model_Preference::SetStationCity($values["City"]); Application_Model_Preference::SetStationCity($values["City"]);
Application_Model_Preference::SetStationDescription($values["Description"]); Application_Model_Preference::SetStationDescription($values["Description"]);
Application_Model_Preference::SetStationLogo($imagePath); Application_Model_Preference::SetStationLogo($imagePath);
// unset session
Zend_Session::namespaceUnset('referrer');
} }
} }
$this->_redirect('Nowplaying'); $this->_redirect('Nowplaying');
} }*/
} }

View file

@ -5,7 +5,7 @@ class Application_Form_RegisterAirtime extends Zend_Form
public function init() public function init()
{ {
$this->setAction('/Preference/registersubmit'); $this->setAction('/Preference/register');
$this->setMethod('post'); $this->setMethod('post');
$country_list = Application_Model_Preference::GetCountryList(); $country_list = Application_Model_Preference::GetCountryList();
@ -27,7 +27,7 @@ class Application_Form_RegisterAirtime extends Zend_Form
$this->addElement('text', 'Phone', array( $this->addElement('text', 'Phone', array(
'class' => 'input_text', 'class' => 'input_text',
'label' => 'Phone:', 'label' => 'Phone:',
'required' => false, 'required' => true,
'filters' => array('StringTrim'), 'filters' => array('StringTrim'),
'value' => Application_Model_Preference::GetPhone(), 'value' => Application_Model_Preference::GetPhone(),
'decorators' => array( 'decorators' => array(
@ -39,7 +39,7 @@ class Application_Form_RegisterAirtime extends Zend_Form
$this->addElement('text', 'Email', array( $this->addElement('text', 'Email', array(
'class' => 'input_text', 'class' => 'input_text',
'label' => 'Email:', 'label' => 'Email:',
'required' => false, 'required' => true,
'filters' => array('StringTrim'), 'filters' => array('StringTrim'),
'value' => Application_Model_Preference::GetEmail(), 'value' => Application_Model_Preference::GetEmail(),
'decorators' => array( 'decorators' => array(
@ -61,7 +61,7 @@ class Application_Form_RegisterAirtime extends Zend_Form
// county list dropdown // county list dropdown
$this->addElement('select', 'Country', array( $this->addElement('select', 'Country', array(
'label' => 'Country:', 'label' => 'Country:',
'required' => false, 'required' => true,
'value' => Application_Model_Preference::GetStationCountry(), 'value' => Application_Model_Preference::GetStationCountry(),
'multiOptions' => $country_list, 'multiOptions' => $country_list,
'decorators' => array( 'decorators' => array(
@ -72,7 +72,7 @@ class Application_Form_RegisterAirtime extends Zend_Form
// Station city // Station city
$this->addElement('text', 'City', array( $this->addElement('text', 'City', array(
'label' => 'City:', 'label' => 'City:',
'required' => false, 'required' => true,
'class' => 'input_text', 'class' => 'input_text',
'value' => Application_Model_Preference::GetStationCity(), 'value' => Application_Model_Preference::GetStationCity(),
'decorators' => array( 'decorators' => array(
@ -84,7 +84,7 @@ class Application_Form_RegisterAirtime extends Zend_Form
$description = new Zend_Form_Element_Textarea('Description'); $description = new Zend_Form_Element_Textarea('Description');
$description->class = 'input_text_area'; $description->class = 'input_text_area';
$description->setLabel('Station Description:') $description->setLabel('Station Description:')
->setRequired(false) ->setRequired(true)
->setValue(Application_Model_Preference::GetStationDescription()) ->setValue(Application_Model_Preference::GetStationDescription())
->setDecorators(array('ViewHelper')) ->setDecorators(array('ViewHelper'))
->setAttrib('ROWS','2') ->setAttrib('ROWS','2')

View file

@ -17,25 +17,13 @@ $(document).ready(function(){
$(this).dialog("close"); $(this).dialog("close");
}, },
"Yes, help Airtime": function() { "Yes, help Airtime": function() {
$("#register-form").submit(); if($("#Publicise").is(':checked')){
/*$.ajax({ if(validateFields()){
type: 'post', $("#register-form").submit();
dataType: 'html',
url: '/Preference/registersubmit',
async: false,
data: $("#register-form").serialize(),
success: function (response, status, xml) {
//Check for error here
if (error) {
$("#register-form").parent().html('').html(response);
}
else {
$(this).dialog('close');
}
} }
});*/ }else{
$("#register-form").submit();
$(this).dialog("close"); }
} }
} }
}); });
@ -68,6 +56,40 @@ $(document).ready(function(){
} }
}); });
}); });
function validateFields(){
var stnName = $("#stnName");
var phone = $("#Phone");
var email = $("#Email");
var city = $("#City");
var description = $("#Description");
var errors = new Array();
errors[0] = displayError(stnName);
errors[1] = displayError(phone);
errors[2] = displayError(email);
errors[3] = displayError(city);
errors[4] = displayError(description);
for( e in errors ){
if(errors[e]){
return false;
}
}
return true;
}
function displayError(ele){
var errorMsg = "Value is required and can't be empty";
ele.parent().find("ul").remove();
if($.trim(ele.val()) == ''){
ele.parent().append("<ul class='errors'><li>"+errorMsg+"</li></ul>");
return true;
}
return false;
}
function resizeImg(ele){ function resizeImg(ele){