public function validatePrivilege()
 {
     if ($this->hasErrors('privileges') == false) {
         $allPrivileges = array_keys(ManagerRole::getAllPrivilege());
         foreach ($this->privileges as $privilege) {
             if (empty($privilege) == false) {
                 if (in_array($privilege, $allPrivileges) == false) {
                     $this->addError('privileges', '权限无法识别');
                     break;
                 }
             }
         }
     }
 }
예제 #2
0
 public function actionCreate()
 {
     if (Yii::app()->user->getIsSuperUser() == false && Yii::app()->user->checkAccess('createManagerRole') == false) {
         throw new CHttpException(403);
     }
     $managerRole = new ManagerRole();
     if (isset($_POST['ManagerRole'])) {
         $managerRole->attributes = Yii::app()->request->getPost('ManagerRole');
         $managerRole->privileges = implode(',', array_keys(ManagerRole::getAllPrivilege()));
         if ($managerRole->validate() && $managerRole->save()) {
             $this->setFlashMessage(strtr('succ:<b>{name}</b> 已添加 {link}', array('{name}' => $managerRole->name, '{link}' => CHtml::link('查看', array('view', 'id' => $managerRole->manager_role_id)))));
             $this->redirect($this->getReturnUrl());
         }
     }
     $this->breadcrumbs = array('管理员角色' => $this->createUrl('index'), '添加');
     $this->render('create', array('managerRole' => $managerRole, 'returnUrl' => $this->getReturnUrl()));
 }