diff --git "a/module/group/\\" "b/module/group/\\" deleted file mode 100644 index ebccd3f3ef..0000000000 --- "a/module/group/\\" +++ /dev/null @@ -1,354 +0,0 @@ - - * @package group - * @version $Id: control.php 4648 2013-04-15 02:45:49Z chencongzhi520@gmail.com $ - * @link http://www.zentao.net - */ -class group extends control -{ - /** - * Construct function. - * - * @access public - * @return void - */ - public function __construct($moduleName = '', $methodName = '') - { - parent::__construct($moduleName, $methodName); - $this->loadModel('company')->setMenu(); - $this->loadModel('user'); - } - - /** - * Browse groups. - * - * @access public - * @return void - */ - public function browse() - { - $title = $this->lang->company->orgView . $this->lang->colon . $this->lang->group->browse; - $position[] = $this->lang->group->browse; - - $groups = $this->group->getList(); - $groupUsers = array(); - foreach($groups as $group) $groupUsers[$group->id] = $this->group->getUserPairs($group->id); - - $this->view->title = $title; - $this->view->position = $position; - $this->view->groups = $groups; - $this->view->groupUsers = $groupUsers; - - $this->display(); - } - - /** - * Create a group. - * - * @access public - * @return void - */ - public function create() - { - if(!empty($_POST)) - { - $groupID = $this->group->create(); - if(dao::isError()) die(js::error(dao::getError())); - if($this->viewType == 'json') return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'id' => $groupID)); - if(isonlybody()) die(js::closeModal('parent.parent', 'this')); - die(js::locate($this->createLink('group', 'browse'), 'parent')); - } - - $this->view->title = $this->lang->company->orgView . $this->lang->colon . $this->lang->group->create; - $this->view->position[] = $this->lang->group->create; - $this->display(); - } - - /** - * Edit a group. - * - * @param int $groupID - * @access public - * @return void - */ - public function edit($groupID) - { - if(!empty($_POST)) - { - $this->group->update($groupID); - if(isonlybody()) die(js::closeModal('parent.parent', 'this')); - die(js::locate($this->createLink('group', 'browse'), 'parent')); - } - - $title = $this->lang->company->orgView . $this->lang->colon . $this->lang->group->edit; - $position[] = $this->lang->group->edit; - - $this->view->title = $title; - $this->view->position = $position; - $this->view->group = $this->group->getById($groupID); - - $this->display(); - } - - /** - * Copy a group. - * - * @param int $groupID - * @access public - * @return void - */ - public function copy($groupID) - { - if(!empty($_POST)) - { - $this->group->copy($groupID); - if(dao::isError()) die(js::error(dao::getError())); - if(isonlybody()) die(js::closeModal('parent.parent', 'this')); - die(js::locate($this->createLink('group', 'browse'), 'parent')); - } - - $this->view->title = $this->lang->company->orgView . $this->lang->colon . $this->lang->group->copy; - $this->view->position[] = $this->lang->group->copy; - $this->view->group = $this->group->getById($groupID); - $this->display(); - } - - /** - * Manage view. - * - * @param int $groupID - * @access public - * @return void - */ - public function manageView($groupID) - { - if($_POST) - { - $this->group->updateView($groupID); - if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError())); - - $link = isonlybody() ? 'parent' : $this->createLink('group', 'browse'); - return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $link)); - } - - /* Get the group data by id. */ - $group = $this->group->getByID($groupID); - $this->view->title = $this->lang->company->common . $this->lang->colon . $group->name . $this->lang->colon . $this->lang->group->manageView; - - $this->view->group = $group; - $this->view->programs = $this->loadModel('program')->getPairs(true, 'order_desc'); - $this->view->projects = $this->loadModel('project')->getPairsByProgram(0, 'all', true, 'order_desc'); - $this->view->executions = $this->loadModel('execution')->getPairs(0, 'all', 'all'); - $this->view->products = $this->loadModel('product')->getPairs(); - - $navGroup = array(); - foreach($this->lang->navGroup as $moduleName => $groupName) - { - if($groupName == $moduleName) continue; - if($moduleName == 'testcase') $moduleName = 'case'; - - $navGroup[$groupName][$moduleName] = $moduleName; - } - $this->view->navGroup = $navGroup; - - $this->display(); - } - - /** - * Manage privleges of a group. - * - * @param int $groupID - * @access public - * @return void - */ - public function managePriv($type = 'byGroup', $param = 0, $menu = '', $version = '') - { - if($type == 'byGroup') $groupID = $param; - $this->view->type = $type; - foreach($this->lang->resource as $moduleName => $action) - { - if($this->group->checkMenuModule($menu, $moduleName) or $type != 'byGroup') $this->app->loadLang($moduleName); - } - - if(!empty($_POST)) - { - if($type == 'byGroup') $result = $this->group->updatePrivByGroup($groupID, $menu, $version); - if($type == 'byModule') $result = $this->group->updatePrivByModule(); - if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError())); - - return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => inlink('browse'))); - } - - if($type == 'byGroup') - { - $this->group->sortResource(); - $group = $this->group->getById($groupID); - $groupPrivs = $this->group->getPrivs($groupID); - - if($this->config->systemMode == 'classic') - { - if(isset($groupPrivs['project']['browse'])) - { - $groupPrivs['project']['list'] = 'list'; - } - } - - $this->view->title = $this->lang->company->common . $this->lang->colon . $group->name . $this->lang->colon . $this->lang->group->managePriv; - $this->view->position[] = $group->name; - $this->view->position[] = $this->lang->group->managePriv; - - /* Join changelog when be equal or greater than this version.*/ - $realVersion = str_replace('_', '.', $version); - $changelog = array(); - foreach($this->lang->changelog as $currentVersion => $currentChangeLog) - { - if(version_compare($currentVersion, $realVersion, '>=')) $changelog[] = join(',', $currentChangeLog); - } - - $this->view->group = $group; - $this->view->changelogs = ',' . join(',', $changelog) . ','; - $this->view->groupPrivs = $groupPrivs; - a($groupPrivs); - $this->view->groupID = $groupID; - $this->view->menu = $menu; - $this->view->version = $version; - } - elseif($type == 'byModule') - { - $this->group->sortResource(); - $this->view->title = $this->lang->company->common . $this->lang->colon . $this->lang->group->managePriv; - $this->view->position[] = $this->lang->group->managePriv; - - foreach($this->lang->resource as $module => $moduleActions) - { - $modules[$module] = $this->lang->$module->common; - foreach($moduleActions as $action) - { - $actions[$module][$action] = $this->lang->$module->$action; - } - } - $this->view->groups = $this->group->getPairs(); - $this->view->modules = $modules; - $this->view->actions = $actions; - } - $this->display(); - } - - /** - * Manage members of a group. - * - * @param int $groupID - * @param int $deptID - * @access public - * @return void - */ - public function manageMember($groupID, $deptID = 0) - { - if(!empty($_POST)) - { - $this->group->updateUser($groupID); - if(isonlybody()) die(js::closeModal('parent.parent', 'this')); - die(js::locate($this->createLink('group', 'browse'), 'parent')); - } - $group = $this->group->getById($groupID); - $groupUsers = $this->group->getUserPairs($groupID); - $allUsers = $this->loadModel('dept')->getDeptUserPairs($deptID); - $otherUsers = array_diff_assoc($allUsers, $groupUsers); - - if($this->config->systemMode == 'new') - { - $outsideUsers = $this->user->getPairs('outside|noclosed|noletter|noempty'); - $this->view->outsideUsers = array_diff_assoc($outsideUsers, $groupUsers); - } - - $title = $this->lang->company->common . $this->lang->colon . $group->name . $this->lang->colon . $this->lang->group->manageMember; - $position[] = $group->name; - $position[] = $this->lang->group->manageMember; - - $this->view->title = $title; - $this->view->position = $position; - $this->view->group = $group; - $this->view->deptTree = $this->loadModel('dept')->getTreeMenu($rooteDeptID = 0, array('deptModel', 'createGroupManageMemberLink'), $groupID); - $this->view->groupUsers = $groupUsers; - $this->view->otherUsers = $otherUsers; - $this->display(); - } - - /** - * Manage members of a group. - * - * @param int $groupID - * @param int $deptID - * @access public - * @return void - */ - public function manageProjectAdmin($groupID, $deptID = 0) - { - if(!empty($_POST)) - { - $this->group->updateProjectAdmin($groupID); - die(js::locate(inlink('manageProjectAdmin', "group=$groupID"), 'parent')); - } - $group = $this->group->getById($groupID); - $groupUsers = $this->group->getUserPairs($groupID); - $userPrograms = $this->group->getUserPrograms($groupID); - $allUsers = array('' => '') + $groupUsers + $this->loadModel('dept')->getDeptUserPairs($deptID); - - $title = $this->lang->company->common . $this->lang->colon . $group->name . $this->lang->colon . $this->lang->group->manageMember; - $position[] = $group->name; - $position[] = $this->lang->group->manageMember; - - $this->view->title = $title; - $this->view->position = $position; - $this->view->allUsers = $allUsers; - $this->view->group = $group; - $this->view->programs = $this->dao->select('id, name')->from(TABLE_PROJECT)->where('type')->eq('project')->andWhere('deleted')->eq(0)->fetchPairs(); - $this->view->deptTree = $this->loadModel('dept')->getTreeMenu($rooteDeptID = 0, array('deptModel', 'createManageProjectAdminLink'), $groupID); - $this->view->groupUsers = $groupUsers; - $this->view->userPrograms = $userPrograms; - - $this->display(); - } - - /** - * Delete a group. - * - * @param int $groupID - * @param string $confirm yes|no - * @access public - * @return void - */ - public function delete($groupID, $confirm = 'no') - { - if($confirm == 'no') - { - die(js::confirm($this->lang->group->confirmDelete, $this->createLink('group', 'delete', "groupID=$groupID&confirm=yes"))); - } - else - { - $this->group->delete($groupID); - - /* if ajax request, send result. */ - if($this->server->ajax) - { - if(dao::isError()) - { - $response['result'] = 'fail'; - $response['message'] = dao::getError(); - } - else - { - $response['result'] = 'success'; - $response['message'] = ''; - } - return $this->send($response); - } - die(js::locate($this->createLink('group', 'browse'), 'parent')); - } - } -}