Exemplo n.º 1
0
 public function getTimezoneSelected($account_id)
 {
     $criteria = new CDbCriteria();
     $criteria->condition = 'Accounts.account_id = 1';
     $criteria->params = array(':account_id' => $account_id);
     return Timezones::model()->with('Accounts')->together()->find($criteria);
 }
 /**
  * Set configuration for localization
  */
 public function actionLocalization()
 {
     // check if user has permissions to permissionsConfiguration
     if (Yii::app()->user->checkAccess('permissionsConfiguration')) {
         // load actual timezone for account -> Default if not set is America/Mexico_City
         $model = TimezoneForm::UpdateAccount();
         // if TimezoneForm form exist
         if (isset($_POST['TimezoneForm'])) {
             // set form elements to TimezoneForm model attributes
             $model->attributes = $_POST['TimezoneForm'];
             // timezone is needed
             if (!empty($model->timezone)) {
                 // update timezone_id from user account
                 $account = Accounts::model()->findByPk(Yii::app()->user->getAccountid());
                 $account->timezone_id = $model->timezone;
                 // save
                 if ($account->save()) {
                     Yii::app()->user->setFlash('updatedLocalizationSuccess', Yii::t('localization', 'UpdatedMessage'));
                 }
             } else {
                 // show custom error message
                 $model->addError('timezone', Yii::t('localization', 'timezoneRequired'));
             }
         }
         // set layout page and render content
         $this->layout = 'column2';
         $this->render('assigments/localization', array('model' => $model, 'timezones' => Timezones::model()->findAll()));
     } else {
         throw new CHttpException(403, Yii::t('site', '403_Error'));
     }
 }