Merge remote-tracking branch 'origin/saas-dev-lang-tz-setup' into saas-dev

This commit is contained in:
Albert Santoni 2015-08-05 12:32:33 -04:00
commit 2aaba99b9a
9 changed files with 168 additions and 3 deletions

View file

@ -40,7 +40,8 @@ $ccAcl->add(new Zend_Acl_Resource('library'))
->add(new Zend_Acl_Resource('provisioning'))
->add(new Zend_Acl_Resource('player'))
->add(new Zend_Acl_Resource('soundcloud'))
->add(new Zend_Acl_Resource('embeddablewidgets'));
->add(new Zend_Acl_Resource('embeddablewidgets'))
->add(new Zend_Acl_Resource('setup'));
/** Creating permissions */
$ccAcl->allow('G', 'index')
@ -60,6 +61,7 @@ $ccAcl->allow('G', 'index')
->allow('G', 'downgrade')
->allow('G', 'rest:show-image', 'get')
->allow('G', 'rest:media', 'get')
->allow('G', 'setup')
->allow('H', 'soundcloud')
->allow('H', 'rest:show-image')
->allow('H', 'rest:media')

View file

@ -0,0 +1,41 @@
<?php
class SetupController extends Zend_Controller_Action
{
public function init()
{
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->addActionContext('setup-language-timezone', 'json');
}
public function setupLanguageTimezoneAction()
{
$this->view->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$request = $this->getRequest();
$form = new Application_Form_SetupLanguageTimezone();
if ($request->isPost()) {
$formData = $request->getPost();
if ($form->isValid($formData)) {
$userService = new Application_Service_UserService();
$currentUser = $userService->getCurrentUser();
$currentUserId = $currentUser->getDbId();
Application_Model_Preference::SetUserTimezone($formData["setup_timezone"], $currentUserId);
Application_Model_Preference::SetDefaultTimezone($formData["setup_timezone"]);
Application_Model_Preference::SetUserLocale($formData["setup_language"], $currentUserId);
Application_Model_Preference::SetDefaultLocale($formData["setup_language"]);
Application_Model_Preference::setLangTimezoneSetupComplete(true);
$this->_redirect('/Showbuilder');
}
}
$this->_redirect('/Showbuilder');
}
}

View file

@ -45,6 +45,7 @@ class ShowbuilderController extends Zend_Controller_Action
//$this->view->headScript()->appendFile($baseUrl.'js/datatables/plugin/dataTables.ColReorder.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
$this->view->headScript()->appendFile($baseUrl.'js/datatables/plugin/dataTables.FixedColumns.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
$this->view->headScript()->appendFile($baseUrl.'js/datatables/plugin/dataTables.columnFilter.js?'.$CC_CONFIG['airtime_version'], 'text/javascript');
$this->view->headScript()->appendFile($baseUrl.'js/js-timezone-detect/jstz-1.0.4.min.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
$this->view->headScript()->appendFile($baseUrl.'js/blockui/jquery.blockUI.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
$this->view->headScript()->appendFile($baseUrl.'js/airtime/buttons/buttons.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
@ -55,8 +56,22 @@ class ShowbuilderController extends Zend_Controller_Action
$this->view->headLink()->appendStylesheet($baseUrl.'css/datatables/css/ColVis.css?'.$CC_CONFIG['airtime_version']);
$this->view->headLink()->appendStylesheet($baseUrl.'css/datatables/css/ColReorder.css?'.$CC_CONFIG['airtime_version']);
$refer_sses = new Zend_Session_Namespace('referrer');
$setupComplete = Application_Model_Preference::getLangTimezoneSetupComplete();
$previousPage = $request->getHeader('Referer');
$userService = new Application_Service_UserService();
$currentUser = $userService->getCurrentUser();
// If current user is Super Admin, and they came from the login page,
// and they have not seen the setup popup before
if ($currentUser->getDbType() == "S" && strpos(strtolower($previousPage), 'login') !== false
&& empty($setupComplete)) {
$lang_tz_popup_form = new Application_Form_SetupLanguageTimezone();
$this->view->lang_tz_popup_form = $lang_tz_popup_form;
$this->view->headScript()->appendFile($baseUrl.'js/airtime/nowplaying/lang-timezone-setup.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
}
//TODO: is it safe to remove this??
/*
if ($request->isPost()) {
$form = new Application_Form_RegisterAirtime();
@ -115,6 +130,7 @@ class ShowbuilderController extends Zend_Controller_Action
$this->view->dialog = $form;
$this->view->headScript()->appendFile($baseUrl.'js/airtime/nowplaying/register.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
}
*/
//determine whether to remove/hide/display the library.
$showLib = false;

View file

@ -0,0 +1,28 @@
<?php
class Application_Form_SetupLanguageTimezone extends Zend_Form_SubForm
{
public function init()
{
$this->setDecorators(array(
array('ViewScript', array('viewScript' => 'form/setup-lang-timezone.phtml'))));
$csrf_namespace = new Zend_Session_Namespace('csrf_namespace');
$csrf_element = new Zend_Form_Element_Hidden('csrf');
$csrf_element->setValue($csrf_namespace->authtoken)->setRequired('true')->removeDecorator('HtmlTag')->removeDecorator('Label');
$this->addElement($csrf_element);
$language = new Zend_Form_Element_Select('setup_language');
$language->setLabel(_("Station Language"));
$language->setMultiOptions(Application_Model_Locale::getLocales());
$this->addElement($language);
$timezone = new Zend_Form_Element_Select('setup_timezone');
$timezone->setLabel(_("Station Timezone"));
$timezone->setMultiOptions(Application_Common_Timezone::getTimezones());
$this->addElement($timezone);
}
}

View file

@ -1521,4 +1521,14 @@ class Application_Model_Preference
{
self::setValue("radio_page_display_login_button", $value);
}
public static function getLangTimezoneSetupComplete()
{
return self::getValue("lang_tz_setup_complete");
}
public static function setLangTimezoneSetupComplete($value)
{
self::setValue("lang_tz_setup_complete", $value);
}
}

View file

@ -0,0 +1,16 @@
<div id="lang-timezone-popup" class="dialogPopup register-dialog" title="<?php echo _("Setup Station Language and Timezone") ?>" style="display: none;">
<form id="lang-timezone-form" method="post" action="/setup/setup-language-timezone">
<fieldset>
<dl class="zend_form">
<?php echo $this->element->getElement('csrf') ?>
<?php echo $this->element->getElement('setup_language')->render(); ?>
<?php echo $this->element->getElement('setup_timezone')->render(); ?>
<br>
You can set these settings later under Preferences and your user settings.
</dl>
</fieldset>
</form>
</div>

View file

@ -21,4 +21,8 @@
</div>
<?php echo $this->dialog ?>
<?php
// TODO: can we remove this???
//echo $this->dialog ?>
<?php echo $this->lang_tz_popup_form; ?>