コード例 #1
0
ファイル: TBGRole.class.php プロジェクト: oparoz/thebuggenie
 public static function loadFixtures(TBGScope $scope)
 {
     $roles = array();
     $roles['Developer'] = array(array('permission' => 'page_project_allpages_access'), array('permission' => 'canseeproject'), array('permission' => 'canseeprojecthierarchy'), array('permission' => 'candoscrumplanning'), array('permission' => 'canvoteforissues'), array('permission' => 'canlockandeditlockedissues'), array('permission' => 'cancreateandeditissues'), array('permission' => 'caneditissue'), array('permission' => 'caneditissuecustomfields'), array('permission' => 'canaddextrainformationtoissues'), array('permission' => 'canpostseeandeditallcomments'), array('permission' => 'readarticle', 'module' => 'publish', 'target_id' => '%project_key%'), array('permission' => 'editarticle', 'module' => 'publish', 'target_id' => '%project_key%'), array('permission' => 'deletearticle', 'module' => 'publish', 'target_id' => '%project_key%'));
     $roles['Project manager'] = array(array('permission' => 'page_project_allpages_access'), array('permission' => 'canseeproject'), array('permission' => 'canseeprojecthierarchy'), array('permission' => 'candoscrumplanning'), array('permission' => 'canvoteforissues'), array('permission' => 'canlockandeditlockedissues'), array('permission' => 'cancreateandeditissues'), array('permission' => 'caneditissue'), array('permission' => 'caneditissuecustomfields'), array('permission' => 'canaddextrainformationtoissues'), array('permission' => 'canpostseeandeditallcomments'), array('permission' => 'readarticle', 'module' => 'publish', 'target_id' => '%project_key%'), array('permission' => 'editarticle', 'module' => 'publish', 'target_id' => '%project_key%'), array('permission' => 'deletearticle', 'module' => 'publish', 'target_id' => '%project_key%'));
     $roles['Tester'] = array(array('permission' => 'page_project_allpages_access'), array('permission' => 'canseeproject'), array('permission' => 'canseeprojecthierarchy'), array('permission' => 'canvoteforissues'), array('permission' => 'cancreateandeditissues'), array('permission' => 'caneditissuecustomfields'), array('permission' => 'canaddextrainformationtoissues'), array('permission' => 'canpostandeditcomments'), array('permission' => 'readarticle', 'module' => 'publish', 'target_id' => '%project_key%'), array('permission' => 'editarticle', 'module' => 'publish', 'target_id' => '%project_key%'));
     $roles['Documentation editor'] = array(array('permission' => 'page_project_allpages_access'), array('permission' => 'canseeproject'), array('permission' => 'canseeprojecthierarchy'), array('permission' => 'canvoteforissues'), array('permission' => 'cancreateandeditissues'), array('permission' => 'canaddextrainformationtoissues'), array('permission' => 'canpostandeditcomments'), array('permission' => 'readarticle', 'module' => 'publish', 'target_id' => '%project_key%'), array('permission' => 'editarticle', 'module' => 'publish', 'target_id' => '%project_key%'));
     foreach ($roles as $name => $permissions) {
         $role = new TBGRole();
         $role->setName($name);
         $role->setScope($scope);
         $role->save();
         foreach ($permissions as $k => $permission) {
             $p = new TBGRolePermission();
             $p->setPermission($permission['permission']);
             if (array_key_exists('target_id', $permission)) {
                 $p->setTargetID($permission['target_id']);
             }
             if (array_key_exists('module', $permission)) {
                 $p->setModule($permission['module']);
             }
             $role->addPermission($p);
         }
     }
 }
コード例 #2
0
ファイル: actions.class.php プロジェクト: oparoz/thebuggenie
 public function runAddRole(TBGRequest $request)
 {
     if ($this->getUser()->canManageProject($this->selected_project)) {
         if ($request['role_name']) {
             $role = new TBGRole();
             $role->setName($request['role_name']);
             $role->setProject($this->selected_project);
             $role->save();
             return $this->renderJSON(array('content' => $this->getTemplateHTML('configuration/role', array('role' => $role))));
         }
         $this->getResponse()->setHttpStatus(400);
         return $this->renderJSON(array('message' => $this->getI18n()->__('You must provide a role name')));
     }
     $this->getResponse()->setHttpStatus(400);
     return $this->renderJSON(array('message' => $this->getI18n()->__('You do not have access to create new project roles')));
 }
コード例 #3
0
ファイル: actions.class.php プロジェクト: oparoz/thebuggenie
 public function runConfigureRoles(TBGRequest $request)
 {
     if ($request->isPost()) {
         if (trim($request['role_name']) == '') {
             $this->getResponse()->setHttpStatus(400);
             return $this->renderJSON(array('error' => $this->getI18n()->__('You have to specify a name for this role')));
         }
         $role = new TBGRole();
         $role->setName($request['role_name']);
         $role->save();
         return $this->renderJSON(array('content' => $this->getTemplateHTML('configuration/role', array('role' => $role))));
     }
     $this->roles = TBGRole::getAll();
 }