public function actionUpdateGroup($ccmp_id) { //company $model = $this->loadModel($ccmp_id); $model->scenario = $this->scenario; //update record if (isset($_POST['save_company_group'])) { $mCcxg = new CcxgCompanyXGroup(); //get DB checked $aExistTypes = array(); foreach ($model->ccxgCompanyXGroups as $modelCcxg) { $mCcxg = $modelCcxg; $aExistTypes[] = $mCcxg->ccxg_ccgr_id; } //get in form checked $aPostType = array(); if (isset($_POST['ccxg_ccgr_id'])) { foreach ($_POST['ccxg_ccgr_id'] as $nPtypId) { $aPostType[] = $nPtypId; } } $aDelType = array_diff($aExistTypes, $aPostType); $aNewType = array_diff($aPostType, $aExistTypes); foreach ($aNewType as $nType) { $postCcxg = new CcxgCompanyXGroup(); $postCcxg->ccxg_ccmp_id = $model->ccmp_id; $postCcxg->ccxg_ccgr_id = $nType; if (!$postCcxg->save()) { print_r($postCategory->errors); exit; } //EP change ccmp_sys_ccmp_id for syscompany if ($nType == 1) { $model->ccmp_sys_ccmp_id = $ccmp_id; $model->save(false); $this->redirect(array('sys_company' => $ccmp_id)); } } //criteria for deleting $criteria = new CDbCriteria(); $criteria->condition = 'ccxg_ccmp_id=:ccxg_ccmp_id AND ccxg_ccgr_id=:ccxg_ccgr_id'; foreach ($aDelType as $ccgr_id) { //ja nav admins nedzesh sys comany if ($ccgr_id == Yii::app()->params['ccgr_group_sys_company'] && !Yii::app()->user->checkAccess("Administrator")) { continue; } $criteria->params = array(':ccxg_ccmp_id' => $model->ccmp_id, ':ccxg_ccgr_id' => $ccgr_id); $Ppxt = CcxgCompanyXGroup::model()->find($criteria); $Ppxt->delete(); } //reload record, jo attēlos veco tipus $model = $this->loadModel($ccmp_id); $this->redirect(array('updategroup', 'ccmp_id' => $model->ccmp_id)); } //branc $criteria = new CDbCriteria(); $criteria->addCondition('ccbr_ccmp_id = :ccmp_id'); $criteria->params = array(':ccmp_id' => $model->ccmp_id); $mCcbr = new CcbrBranch('search'); $mCcbr->findAll($criteria); $this->render('update_extended', array('model' => $model, 'active_tab' => 'company_group', 'mCcbr' => $mCcbr)); }
$aUserCompanies = CcucUserCompany::model()->getUserCompnies($model->id, CcucUserCompany::CCUC_STATUS_SYS); $aChecked = array(); foreach ($aUserCompanies as $UC) { $aChecked[] = $UC->ccuc_ccmp_id; } if (count($aChecked) == 1) { //kaut kads gljuks, nedrikst padot masivu ar vienu elementu $aChecked = $aChecked[0]; } $list = array(); if (UserModule::isAdmin()) { //for admin get all sys companies $criteria = new CDbCriteria(); $criteria->compare('t.ccxg_ccgr_id', 1); //1 - syscompany $model_ccxg = CcxgCompanyXGroup::model()->findAll($criteria); foreach ($model_ccxg as $mCcxg) { $list[$mCcxg->ccxg_ccmp_id] = $mCcxg->ccxgCcmp->ccmp_name; } } else { //get user sys companies foreach (Yii::app()->sysCompany->getClientCompanies() as $mCcmp) { $list[$mCcmp->ccucCcmp->ccmp_id] = $mCcmp->ccucCcmp->ccmp_name; } } echo CHtml::checkBoxList('user_sys_ccmp_id', $aChecked, $list, array('labelOptions' => array('style' => 'display: inline'))); ?> <div class="form-actions"> <?php
/** * Displays a particular model. */ public function actionView() { $this->layout = ''; $model = $this->loadModel(); //update record if (Yii::app()->user->checkAccess("UserAdmin") && (isset($_POST['user_role_name']) || isset($_POST['user_sys_ccmp_id']) || isset($_POST['ip_tables']))) { //cheked roles $aChecked = Authassignment::model()->getUserRoles($model->id); $admin_role = Yii::app()->getModule('rights')->superuserName; //for administrator can not save changes of roles if (!in_array($admin_role, $aChecked)) { //get in form checked $aPostRole = array(); if (isset($_POST['user_role_name'])) { foreach ($_POST['user_role_name'] as $nRoleId) { $aPostRole[] = $nRoleId; } } $aDelRole = array_diff($aChecked, $aPostRole); $aNewRole = array_diff($aPostRole, $aChecked); $UserAdminRoles = Yii::app()->getModule('user')->UserAdminRoles; foreach ($aNewRole as $sRoleName) { // can not add no User Admin roles defined in main config if (!in_array($sRoleName, $UserAdminRoles)) { continue; } $aa_model = new Authassignment(); $aa_model->itemname = $sRoleName; $aa_model->userid = $model->id; if (!$aa_model->save()) { print_r($aa_model->errors); exit; } } if (!empty($aDelRole)) { $criteria = new CDbCriteria(); $criteria->compare('userid', $model->id)->compare('itemname', $aDelRole); Authassignment::model()->deleteAll($criteria); } } //checked companies $aUserCompanies = CcucUserCompany::model()->getUserCompnies($model->id, CcucUserCompany::CCUC_STATUS_SYS); $aChecked = array(); foreach ($aUserCompanies as $UC) { $aChecked[] = $UC->ccuc_ccmp_id; } //get in form checked $aPostSysCcmp = array(); if (isset($_POST['user_sys_ccmp_id'])) { foreach ($_POST['user_sys_ccmp_id'] as $ccmp_id) { $aPostSysCcmp[] = $ccmp_id; } } $aDelSysCcmpid = array_diff($aChecked, $aPostSysCcmp); $aNewSysCcmpid = array_diff($aPostSysCcmp, $aChecked); $list = array(); if (UserModule::isAdmin()) { //for admin get all sys companies $criteria = new CDbCriteria(); $criteria->compare('t.ccxg_ccgr_id', 1); //1 - syscompany $model_ccxg = CcxgCompanyXGroup::model()->findAll($criteria); foreach ($model_ccxg as $mCcxg) { $list[$mCcxg->ccxg_ccmp_id] = 1; } } else { foreach (Yii::app()->sysCompany->getClientCompanies() as $mCcmp) { $list[$mCcmp['ccmp_id']] = 1; } } foreach ($aNewSysCcmpid as $cmmp_id) { // can not add no User Admin sys ccmp if (!isset($list[$cmmp_id])) { continue; } //create ccuc (company <==> person) $mCcuc = new CcucUserCompany(); $mCcuc->ccuc_ccmp_id = $cmmp_id; $mCcuc->ccuc_status = CcucUserCompany::CCUC_STATUS_SYS; $mCcuc->ccuc_person_id = $model->profile->person_id; //$mCcuc->save(); if (!$mCcuc->save()) { print_r($mCcuc->errors); exit; } } if (!empty($aDelSysCcmpid)) { $criteria = new CDbCriteria(); $criteria->compare('ccuc_status', CcucUserCompany::CCUC_STATUS_SYS)->compare('ccuc_person_id', $model->profile->person_id)->compare('ccuc_ccmp_id', $aDelSysCcmpid); CcucUserCompany::model()->deleteAll($criteria); } $security_policy = Yii::app()->getModule('user')->SecurityPolicy; if ($security_policy['useIpTables']) { UxipUserXIpTable::model()->deleteAll("`uxip_user_id` = :uxip_user_id ", [':uxip_user_id' => $model->id]); if (!empty($_POST['ip_tables'])) { foreach ($_POST['ip_tables'] as $ip) { $Iptb = new UxipUserXIpTable(); $Iptb->uxip_user_id = $model->id; $Iptb->uxip_iptb_id = $ip; if (!$Iptb->save()) { print_r($Iptb->errors); exit; } } } } } $view = 'view'; if (Yii::app()->getModule('user')->view) { $alt_view = Yii::app()->getModule('user')->view . '.admin.' . $view; if (is_readable(Yii::getPathOfAlias($alt_view) . '.php')) { $view = $alt_view; $this->layout = Yii::app()->getModule('user')->layout; } } $model = $this->loadModel(); $this->render($view, array('model' => $model)); }
/** * Displays a particular model. */ public function actionView() { $this->layout = ''; $model = $this->loadModel(); //update record if (isset($_POST['user_role_name']) || isset($_POST['user_sys_ccmp_id'])) { //cheked roles $aChecked = Authassignment::model()->getUserRoles($model->id); //get in form checked $aPostRole = array(); if (isset($_POST['user_role_name'])) { foreach ($_POST['user_role_name'] as $nRoleId) { $aPostRole[] = $nRoleId; } } $aDelRole = array_diff($aChecked, $aPostRole); $aNewRole = array_diff($aPostRole, $aChecked); $UserAdminRoles = Yii::app()->getModule('user')->UserAdminRoles; foreach ($aNewRole as $sRoleName) { // can not add no User Admin roles defined in main config if (!in_array($sRoleName, $UserAdminRoles)) { continue; } $aa_model = new Authassignment(); $aa_model->itemname = $sRoleName; $aa_model->userid = $model->id; if (!$aa_model->save()) { print_r($aa_model->errors); exit; } } if (!empty($aDelRole)) { Authassignment::model()->deleteAll("`userid` = :userid AND itemname in('" . implode("','", $aDelRole) . "')", array(':userid' => $model->id)); } //checked companies $aUserCompanies = CcucUserCompany::model()->getUserCompnies($model->id, CcucUserCompany::CCUC_STATUS_SYS); $aChecked = array(); foreach ($aUserCompanies as $UC) { $aChecked[] = $UC->ccuc_ccmp_id; } //get in form checked $aPostSysCcmp = array(); if (isset($_POST['user_sys_ccmp_id'])) { foreach ($_POST['user_sys_ccmp_id'] as $ccmp_id) { $aPostSysCcmp[] = $ccmp_id; } } $aDelSysCcmpid = array_diff($aChecked, $aPostSysCcmp); $aNewSysCcmpid = array_diff($aPostSysCcmp, $aChecked); $list = array(); if (UserModule::isAdmin()) { //for admin get all sys companies $criteria = new CDbCriteria(); $criteria->compare('t.ccxg_ccgr_id', 1); //1 - syscompany $model_ccxg = CcxgCompanyXGroup::model()->findAll($criteria); foreach ($model_ccxg as $mCcxg) { $list[$mCcxg->ccxg_ccmp_id] = 1; } } else { foreach (Yii::app()->sysCompany->getClientCompanies() as $mCcmp) { $list[$mCcmp->ccucCcmp->ccmp_id] = 1; } } foreach ($aNewSysCcmpid as $cmmp_id) { // can not add no User Admin sys ccmp if (!isset($list[$cmmp_id])) { continue; } //create ccuc (company <==> person) $mCcuc = new CcucUserCompany(); $mCcuc->ccuc_ccmp_id = $cmmp_id; $mCcuc->ccuc_status = CcucUserCompany::CCUC_STATUS_SYS; $mCcuc->ccuc_person_id = $model->profile->person_id; $mCcuc->save(); if (!$mCcuc->save()) { print_r($mCcuc->errors); exit; } } if (!empty($aDelSysCcmpid)) { CcucUserCompany::model()->deleteAll("`ccuc_status` = :ccuc_status " . " AND `ccuc_person_id` = :ccuc_person_id " . " AND ccuc_ccmp_id in('" . implode("','", $aDelSysCcmpid) . "')", array(':ccuc_person_id' => $model->profile->person_id, ':ccuc_status' => CcucUserCompany::CCUC_STATUS_SYS)); } } $view = 'view'; if (Yii::app()->getModule('user')->view) { $alt_view = Yii::app()->getModule('user')->view . '.admin.' . $view; if (is_readable(Yii::getPathOfAlias($alt_view) . '.php')) { $view = $alt_view; $this->layout = Yii::app()->getModule('user')->layout; } } $model = $this->loadModel(); $this->render($view, array('model' => $model)); }
public function loadModel($id) { $m = CcxgCompanyXGroup::model(); // apply scope, if available $scopes = $m->scopes(); if (isset($scopes[$this->scope])) { $m->{$this->scope}(); } $model = $m->findByPk($id); if ($model === null) { throw new CHttpException(404, Yii::t('D2companyModule.crud_static', 'The requested page does not exist.')); } return $model; }
?> <div class="alert alert-error"><?php echo $grid_error; ?> </div> <?php } if (!empty($grid_warning)) { ?> <div class="alert alert-warning"><?php echo $grid_warning; ?> </div> <?php } $model = new CcxgCompanyXGroup(); $model->ccxg_ccmp_id = $modelMain->primaryKey; // render grid view $can_edit = Yii::app()->user->checkAccess("D2company.CcxgCompanyXGroup.Update"); $this->widget('TbGridView', array('id' => 'ccxg-company-xgroup-grid', 'dataProvider' => $model->search(), 'template' => '{summary}{items}', 'summaryText' => ' ', 'htmlOptions' => array('class' => 'rel-grid-view'), 'columns' => array(array('class' => 'editable.EditableColumn', 'name' => 'ccxg_ccgr_id', 'value' => '!empty($data->ccxg_ccgr_id)?$data->ccxgCcgr->itemLabel:" - "', 'editable' => array('type' => 'select', 'url' => $this->createUrl('//d2company/ccxgCompanyXGroup/editableSaver'), 'source' => CHtml::listData(CcgrGroup::model()->findAll(array('limit' => 1000)), 'ccgr_id', 'itemLabel'), 'apply' => $can_edit ? 'TRUE && $data->ccxg_ccgr_id != ' . Yii::app()->params['ccgr_group_sys_company'] : 'FALSE')), array('class' => 'TbButtonColumn', 'buttons' => array('view' => array('visible' => 'FALSE'), 'update' => array('visible' => 'FALSE'), 'delete' => array('visible' => "TRUE")), 'deleteButtonUrl' => 'Yii::app()->controller->createUrl("/d2company/ccxgCompanyXGroup/delete", array("ccxg_id" => $data->ccxg_id))', 'deleteConfirmation' => Yii::t('D2companyModule.crud_static', 'Do you want to delete this item?'), 'deleteButtonOptions' => array('data-toggle' => 'tooltip'), 'visible' => Yii::app()->user->checkAccess("D2company.CcxgCompanyXGroup.Delete"))))); ?> <?php Yii::endProfile('ccxg_ccmp_id.view.grid'); } if ((!$ajax || $ajax == 'ccdp-department-grid') && Yii::app()->user->checkAccess("D2company.CcdpDepartment.View")) { $can_create = Yii::app()->user->checkAccess("D2company.CcdpDepartment.Create"); Yii::beginProfile('ccdp_ccmp_id.view.grid'); $grid_error = ''; $grid_warning = ''; $model = false;