예제 #1
0
 public function editAction()
 {
     if ($this->isAjax()) {
         $data = $this->request->getPost();
         if (empty($data)) {
             $this->pageError('param');
         }
         $modelForm = new RoleForm('edit');
         if ($result = $modelForm->validate($data)) {
             if ($modelForm->edit()) {
                 $this->success('操作成功');
             } else {
                 $this->error('操作失败');
             }
         }
         $this->error($result);
     }
     $rid = $this->dispatcher->getParams()[0];
     if (empty($rid)) {
         $this->pageError('param');
     }
     $role = Role::findById($rid);
     $form = new RoleForm('edit', $operator);
     $this->view->setVars(['page' => ['title' => '编辑角色'], 'formparams' => ['event' => 'edit', 'action' => \Func\url('/role/edit')], 'data' => $role]);
     $this->view->pick('role/add');
 }
예제 #2
0
 /**
  * 给角色分配权限
  */
 public function allotAction()
 {
     if ($this->isAjax()) {
         $data = $this->request->getPost();
         $data['auth'] = serialize(self::toArray($data['auth']));
         switch ($data['type']) {
             case 'role':
                 $modelForm = new RoleForm('auth');
                 $data['rid'] = $data['id'];
                 unset($data['id']);
                 break;
             case 'operator':
                 $data['oid'] = $data['id'];
                 unset($data['id']);
                 $modelForm = new OperatorForm('auth');
                 break;
             default:
                 $this->error('参数错误');
                 break;
         }
         if ($result = $modelForm->validate($data)) {
             if ($modelForm->allot()) {
                 $this->success('操作成功');
             } else {
                 $this->success('操作失败');
             }
         }
         $this->error('操作失败');
     }
     $params = $this->dispatcher->getParams();
     $type = $params[0];
     $id = $params[1];
     if (empty($type) || empty($id)) {
         $this->pageError('param');
     }
     switch ($type) {
         case 'role':
             $info = Role::findById($id);
             $modelForm = new RoleForm('auth', $info);
             break;
         case 'operator':
             $info = Operator::findById($id);
             $modelForm = new OperatorForm('auth', $info);
             break;
     }
     $this->view->setVars(['info' => $info, 'form' => $modelForm, 'authorities' => self::allAuthorities(), 'formparams' => ['action' => \Func\url('/authority/allot/role/'), 'type' => $type, 'id' => $id]]);
 }
예제 #3
0
 public static function getAuthByRid($rid)
 {
     $role = Role::findById($rid);
     return unserialize($role['auth']);
 }
예제 #4
0
파일: Role.php 프로젝트: sindotnet/hotelyan
 public static function findByUserId($id)
 {
     $userroles = UserRole::findAllFrom('UserRole', 'user_id=?', array((int) $id));
     if (count($userroles) <= 0) {
         return false;
     }
     $roles = array();
     foreach ($userroles as $role) {
         $roles[] = Role::findById($role->role_id);
     }
     return $roles;
 }
예제 #5
0
 public static function findByUserId($id)
 {
     $userroles = UserRole::find(array('where' => 'user_id = :user_id', 'values' => array(':user_id' => (int) $id)));
     if (count($userroles) <= 0) {
         return false;
     }
     $roles = array();
     foreach ($userroles as $role) {
         $roles[] = Role::findById($role->role_id);
     }
     return $roles;
 }
 public function delete($id)
 {
     $role = Role::findById($id);
     if ($role->delete()) {
         Flash::set('success', __('The ' . $name . ' user group has been deleted.'));
         redirect(get_url('plugin/registered_users/groups'));
     } else {
         Flash::set('success', __('Unable to delete the ' . $name . ' user group!'));
         redirect(get_url('plugin/registered_users/groups'));
     }
 }