Пример #1
0
 /**
  * 修改权限组
  *
  * @param int $group_id
  */
 public function action_edit($group_id = 0)
 {
     $this->quick_menu = array('administrator/group/' => '权限组列表', 'administrator/' => '管理员列表', 'administrator/add' => '添加管理员');
     if ($group_id > 0) {
         $this->page_title = '修改管理组';
     }
     $can_edit_perm = true;
     $orm_group = new ORM_Admin_MemberGroup_Finder();
     if ($group_id > 0) {
         $group = $orm_group->get_by_id($group_id);
         if ($group->project != Core::$project && !$this->session()->member()->perm()->is_super_perm()) {
             # 不允许跨项目操作
             $this->message('所属项目不同,您不能通过此页面操作该组', -1);
         }
         if (!$this->session()->member()->perm()->is_own('administrator.edit_group_info')) {
             if ($this->check_auth_for_info($group)) {
                 if (!$this->session()->member()->perm()->is_own('administrator.check_auth_for_perm')) {
                     $can_edit_perm = false;
                 }
             } else {
                 $this->message('抱歉,您无此权限');
             }
         }
     } else {
         if (!$this->session()->member()->perm()->is_own('administrator.add_group')) {
             $this->message('抱歉,您无此权限');
         }
         $group = $orm_group->create();
     }
     if (false) {
         $group = new ORM_Admin_MemberGroup_Data();
     }
     if (HttpIO::METHOD == 'POST') {
         $this->save($group);
     }
     $view = new View('admin/administrator/group_form');
     $view->can_edit_perm = $can_edit_perm;
     $view->group = $group;
     $view->title = $group_id > 0 ? '修改管理组' : '添加管理组';
     $view->render();
 }