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

View file

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

View file

@ -17,25 +17,13 @@ $(document).ready(function(){
$(this).dialog("close");
},
"Yes, help Airtime": function() {
$("#register-form").submit();
/*$.ajax({
type: 'post',
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');
}
if($("#Publicise").is(':checked')){
if(validateFields()){
$("#register-form").submit();
}
});*/
$(this).dialog("close");
}else{
$("#register-form").submit();
}
}
}
});
@ -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){