/**
  * Manages adding companies.
  */
 public function actionAddcompanies()
 {
     if ((isset($_GET['add']) || isset($_GET['remove'])) && isset($_GET['id'])) {
         if (isset($_GET['add'])) {
             User::model()->dbConnection->createCommand("INSERT INTO CompanyUser (userId, companyId) VALUES ({$_GET['id']},{$_GET['companyId']})")->execute();
             $webapp = Yii::app()->user;
             User::setOptionStatesAndControlTable(false, false, Yii::app()->user, User::optionsCompanyUserTemplate(), $_GET['companyId'], $_GET['id']);
         } else {
             //remove it
             User::model()->dbConnection->createCommand("DELETE FROM CompanyUser WHERE userId={$_GET['id']} AND companyId={$_GET['companyId']}")->execute();
             User::model()->dbConnection->createCommand("DELETE FROM Options WHERE userId={$_GET['id']} AND companyId={$_GET['companyId']}")->execute();
             $usersModel = User::model()->findbyPk($_GET['id']);
             if ($usersModel->selectedCompanyId == $_GET['companyId']) {
                 $usersModel->selectedCompanyId = 0;
                 $usersModel->selectedPeriodId = 0;
                 $usersModel->confirmPassword = $usersModel->password;
                 $usersModel->save();
                 if (Yii::app()->user->id == $_GET['id']) {
                     $usersModel->setStates();
                 }
             }
         }
         $this->redirect(array('user/addcompanies', 'id' => $_GET['id']));
     }
     $criteria = new CDbCriteria();
     $pages = new CPagination(Company::model()->count($criteria));
     $pages->pageSize = Yii::app()->user->getState('NumberRecordsPerPage');
     $pages->applyLimit($criteria);
     $sort = new CSort('Company');
     $sort->applyOrder($criteria);
     $usersModel = User::model()->findbyPk($_GET['id']);
     //put  all the user companies in an array
     $companiesUsers = $usersModel->companies;
     $companyToUserArray = array();
     if (isset($companiesUsers)) {
         foreach ($companiesUsers as $companyUser) {
             $companyToUserArray[$companyUser->id] = '';
         }
     }
     $models = Company::model()->findAll($criteria);
     $this->render('addcompanies', array('models' => $models, 'pages' => $pages, 'sort' => $sort, 'companyToUserArray' => $companyToUserArray, 'usersModel' => $usersModel, 'id' => $_GET['id']));
 }
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'show' page.
  */
 public function actionUpdate()
 {
     $model = $this->loadCompany();
     if (isset($_POST['Company'])) {
         $modelBeforeChange = $model->toString();
         $model->attributes = $_POST['Company'];
         if ($model->save()) {
             User::updateOptionTemplate(User::optionsCompanyTemplate(), 0, $model->id);
             $stringModel = $model->toString();
             if ($modelBeforeChange != $stringModel) {
                 ChangeLog::addLog('UPDATE', 'Company', 'BEFORE<br />' . $modelBeforeChange . '<br />AFTER<br />' . $stringModel);
             }
             $this->redirect(array('admin', 'id' => $model->id));
         }
     }
     User::setOptionStatesAndControlTable(false, false, Yii::app()->user, User::optionsCompanyTemplate(), $model->id, 0);
     $criteria = new CDbCriteria();
     $criteria->compare('companyId', $model->id);
     $criteria->compare('userId', 0);
     $options = Options::model()->findAll($criteria);
     $this->render('update', array('model' => $model, 'options' => $options));
 }