/** * Updates options for a user with respect to a company * */ public function actionCompanyuseroptions() { if (isset($_POST['options_posted'])) { User::updateOptionTemplate(User::optionsCompanyUserTemplate(), $_POST['userId'], $_POST['companyId']); $this->redirect(array('user/addcompanies', 'id' => $_POST['userId'])); } else { $usersModel = User::model()->findbyPk($_GET['userId']); $compModel = Company::model()->findbyPk($_GET['companyId']); $this->render('companyuseroptions', array('companyId' => $_GET['companyId'], 'id' => $_GET['userId'], 'usersDisplayname' => $usersModel->displayname, 'companyName' => $compModel->name, 'weboptions' => Options::model()->findAll('companyId=:comp AND userId=:id', array(':comp' => $_GET['companyId'], ':id' => $_GET['userId'])))); } }
/** * 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'])); }
<div class="simple"> <br /> <?php echo CHtml::label(Yii::t('lazy8', 'Company options'), false, array('class' => 'help', 'title' => Yii::t('lazy8', 'contexthelp.Company options'), 'onclick' => 'alert(this.title)')); echo CHtml::hiddenField('companyForOptionsBeforeChange', $companyForOptions); echo CHtml::dropDownList('companyForOptions', $companyForOptions, $companies, array('onchange' => 'form.submit();')); ?> <br /> <br /> </div> <?php $useroptions = $weboptions; $optionTemplate = User::optionsCompanyUserTemplate(); ?> <table class="dataGrid" width="550"> <?php foreach ($useroptions as $n => $useroption) { if (isset($optionTemplate[$useroption->name])) { ?> <tr class="<?php echo $n % 2 ? 'even' : 'odd'; ?> "><td> <!-- <div class="simple"> --> <?php echo CHtml::label(yii::t('lazy8', 'option.name.' . $useroption->name), 'false', array('class' => 'help', 'title' => Yii::t('lazy8', 'contexthelp.option.' . $useroption->name), 'onclick' => 'alert(this.title)')); ?> </td><td>