From aff516e659898911ea1cb8d2596e9683a54833a9 Mon Sep 17 00:00:00 2001 From: leiyong <1549684884@qq.com> Date: Mon, 26 Oct 2020 14:38:41 +0800 Subject: [PATCH] * Project add whitelist function. --- module/common/lang/menuOrder.php | 7 ++-- module/common/lang/zh-cn.php | 23 ++++++------- module/common/model.php | 1 - module/product/control.php | 10 +++--- module/project/control.php | 56 ++++++++++++++++++++++++++++++++ 5 files changed, 77 insertions(+), 20 deletions(-) diff --git a/module/common/lang/menuOrder.php b/module/common/lang/menuOrder.php index df2fbe650c..40f323fb5e 100644 --- a/module/common/lang/menuOrder.php +++ b/module/common/lang/menuOrder.php @@ -74,9 +74,10 @@ $lang->project->menuOrder[25] = 'story'; $lang->project->menuOrder[30] = 'qa'; $lang->project->menuOrder[35] = 'doc'; $lang->project->menuOrder[40] = 'team'; -$lang->project->menuOrder[45] = 'action'; -$lang->project->menuOrder[50] = 'product'; -$lang->project->menuOrder[55] = 'view'; +$lang->project->menuOrder[45] = 'whitelist'; +$lang->project->menuOrder[50] = 'action'; +$lang->project->menuOrder[55] = 'product'; +$lang->project->menuOrder[60] = 'view'; $lang->task->menuOrder = $lang->project->menuOrder; $lang->build->menuOrder = $lang->project->menuOrder; diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index c5f8b3f1d9..db131c49cd 100755 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -314,17 +314,18 @@ $lang->story->menu = $lang->product->menu; $lang->project = new stdclass(); $lang->project->menu = new stdclass(); -$lang->project->menu->task = array('link' => '任务|project|task|projectID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug'); -$lang->project->menu->kanban = array('link' => '看板|project|kanban|projectID=%s'); -$lang->project->menu->burn = array('link' => '燃尽图|project|burn|projectID=%s'); -$lang->project->menu->list = array('link' => '更多|project|grouptask|projectID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover'); -$lang->project->menu->story = array('link' => "{$lang->storyCommon}|project|story|projectID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban'); -$lang->project->menu->qa = array('link' => '测试|project|bug|projectID=%s', 'subModule' => 'bug,build,testtask', 'alias' => 'build,testtask', 'class' => 'dropdown dropdown-hover'); -$lang->project->menu->doc = array('link' => '文档|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc'); -$lang->project->menu->action = array('link' => '动态|project|dynamic|projectID=%s', 'subModule' => 'dynamic', 'class' => 'dropdown dropdown-hover'); -$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s'; -$lang->project->menu->team = array('link' => '团队|project|team|projectID=%s', 'alias' => 'managemembers'); -$lang->project->menu->view = array('link' => '概况|project|view|projectID=%s', 'alias' => 'edit,start,suspend,putoff,close'); +$lang->project->menu->task = array('link' => '任务|project|task|projectID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug'); +$lang->project->menu->kanban = array('link' => '看板|project|kanban|projectID=%s'); +$lang->project->menu->burn = array('link' => '燃尽图|project|burn|projectID=%s'); +$lang->project->menu->list = array('link' => '更多|project|grouptask|projectID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover'); +$lang->project->menu->story = array('link' => "{$lang->storyCommon}|project|story|projectID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban'); +$lang->project->menu->qa = array('link' => '测试|project|bug|projectID=%s', 'subModule' => 'bug,build,testtask', 'alias' => 'build,testtask', 'class' => 'dropdown dropdown-hover'); +$lang->project->menu->doc = array('link' => '文档|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc'); +$lang->project->menu->action = array('link' => '动态|project|dynamic|projectID=%s', 'subModule' => 'dynamic', 'class' => 'dropdown dropdown-hover'); +$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s'; +$lang->project->menu->team = array('link' => '团队|project|team|projectID=%s', 'alias' => 'managemembers'); +$lang->project->menu->view = array('link' => '概况|project|view|projectID=%s', 'alias' => 'edit,start,suspend,putoff,close'); +$lang->project->menu->whitelist = array('link' => '白名单|project|whitelist|projectID=%s', 'alias' => 'addwhitelist', 'subModule' => 'personnel'); $lang->project->subMenu = new stdclass(); $lang->project->subMenu->list = new stdclass(); diff --git a/module/common/model.php b/module/common/model.php index c95b78885a..512cf8032d 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -530,7 +530,6 @@ class commonModel extends model if(common::hasPriv($currentModule, $currentMethod)) echo "
  • " . html::a(helper::createLink($currentModule, $currentMethod, $vars), $title) . '
  • '; if(($lastMenu != $nav) && strpos($lang->dividerMenu, ",{$group},") !== false) echo "
  • "; } - } /** diff --git a/module/product/control.php b/module/product/control.php index f0178f4de0..d9815ed83e 100644 --- a/module/product/control.php +++ b/module/product/control.php @@ -793,7 +793,7 @@ class product extends control * Get white list personnel. * * @param int $productID - * @param string $branch + * @param string $module * @param string $browsetype * @param string $orderby * @param int $recTotal @@ -802,13 +802,13 @@ class product extends control * @access public * @return void */ - public function whitelist($productID = 0, $branch = '', $browseType = 'all', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1) + public function whitelist($productID = 0, $module = 'product', $browseType = 'all', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1) { $this->lang->product->menu = $this->lang->product->viewMenu; - $this->lang->product->switcherMenu = $this->loadModel('product')->getSwitcher($productID, '', $branch); - $this->product->setMenu($this->products, $productID, $branch); + $this->lang->product->switcherMenu = $this->loadModel('product')->getSwitcher($productID, '', 0); + $this->product->setMenu($this->products, $productID, 0); - echo $this->fetch('personnel', 'whitelist', "objectID=$productID&module=product"); + echo $this->fetch('personnel', 'whitelist', "objectID=$productID&module=product&browseType=$browseType&orderBy=$orderBy&recTotal=$recTotal&recPerPage=$recPerPage&pageID=$pageID"); } /** diff --git a/module/project/control.php b/module/project/control.php index bf34c89f91..2244e61e65 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -2416,6 +2416,62 @@ class project extends control $this->display(); } + /** + * Get white list personnel. + * + * @param int $projectID + * @param string $module + * @param string $browsetype + * @param string $orderby + * @param int $recTotal + * @param int $recPerPage + * @param int $pageID + * @access public + * @return void + */ + public function whitelist($projectID = 0, $module='project', $browseType = 'all', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1) + { + /* use first project if projectID does not exist. */ + if(!isset($this->projects[$projectID])) $projectID = key($this->projects); + + /* Set the menu. If the projectID = 0, use the indexMenu instead. */ + $this->project->setMenu($this->projects, $projectID); + + echo $this->fetch('personnel', 'whitelist', "objectID=$projectID&module=$module&browseType=$browseType&orderBy=$orderBy&recTotal=$recTotal&recPerPage=$recPerPage&pageID=$pageID"); + } + + /** + * Adding users to the white list. + * + * @param int $projectID + * @param int $deptID + * @access public + * @return void + */ + public function addWhitelist($projectID = 0, $deptID = 0) + { + /* use first project if projectID does not exist. */ + if(!isset($this->projects[$projectID])) $projectID = key($this->projects); + + /* Set the menu. If the projectID = 0, use the indexMenu instead. */ + $this->project->setMenu($this->projects, $projectID); + + echo $this->fetch('personnel', 'addWhitelist', "objectID=$projectID&dept=$deptID&objectType=sprint&module=project"); + } + + /* + * Removing users from the white list. + * + * @param int $id + * @param string $confirm + * @access public + * @return void + */ + public function unbindWhielist($id = 0, $confirm = 'no') + { + echo $this->fetch('personnel', 'unbindWhielist', "id=$id&confirm=$confirm"); + } + /** * Export project. *