/** * Manages with users of the manel. */ public function actionUsers() { if(Yii::app()->user->isGuest && $this->isRootDefined()) Yii::app()->request->redirect('../login/'); elseif(!Yii::app()->user->isGuest && Yii::app()->user->level == 'user') throw new CHttpException(403); $this->module->dbConnection = 'dbAdmin'; $this->module->dbSchema = ''; //We must set to null the default schema, because of all the admin tables are named with AutoAdminAccess::sqlAdminTableName() $this->module->tableName(AutoAdminAccess::sqlAdminTableName('users')); $this->module->setPK('id'); $fieldsConf = array( array('login', 'string', Yii::t('AutoAdmin.access', 'Login'), array('search', 'show', 'maxlength'=>21)), array('password', 'password', Yii::t('AutoAdmin.access', 'Password'), array('maxlength'=>32, 'pattern'=>'.{4,}')), array('level', 'enum', Yii::t('AutoAdmin.access', 'User level'), array( 'enum'=>array( 'root' => Yii::t('AutoAdmin.access', 'Master'), 'admin' => Yii::t('AutoAdmin.access', 'Administrator'), 'user' => Yii::t('AutoAdmin.access', 'Plain user'), ), 'default'=>'user', 'show', 'description'=>Yii::t('AutoAdmin.access', '<b>Master</b> can do everything. <b>Administrator</b> can do all but to create new Masters. <b>User</b> is a plain user whose rights can be restricted either by Master and Administrator.'), )), array('interface_level', 'num', Yii::t('AutoAdmin.access', 'Interface Level'), array('default'=>1, 'show')), array('email', 'string', Yii::t('AutoAdmin.access', 'E-mail'), array('null', 'maxlength'=>40)), array('surname', 'string', Yii::t('AutoAdmin.access', 'Surname'), array('show', 'search', 'maxlength'=>21)), array('firstname', 'string', Yii::t('AutoAdmin.access', 'First name'), array('show', 'maxlength'=>21)), array('middlename', 'string', Yii::t('AutoAdmin.access', 'Middle name'), array('show', 'maxlength'=>21)), array('regdate', 'datetime', Yii::t('AutoAdmin.access', 'Registration date'), array('readonly', 'default'=>date('Y-m-d H:i:s'))), ); $levelOpts =& AutoAdmin::fByNameOpts('level', $fieldsConf); if(!Yii::app()->user->isGuest && Yii::app()->user->level == 'admin') { unset($levelOpts['enum']['root']); unset($levelOpts['enum']['admin']); $levelOpts['bind'] = 'user'; } elseif(Yii::app()->user->isGuest && !$this->isRootDefined()) { $levelOpts['default'] = 'root'; } $this->module->fieldsConf($fieldsConf); if(!Yii::app()->user->isGuest && in_array(Yii::app()->user->level, array('root', 'admin'))) $this->module->setSubHref('sections'); $this->module->sortDefault(array('login')); $this->pageTitle = Yii::t('AutoAdmin.access', 'Users of the administration panel'); $this->breadcrumbs = array( $this->pageTitle ); $this->module->process(); }