diff --git a/module/execution/ui/story.html.php b/module/execution/ui/story.html.php index 6994371a63..5dcf8b6d49 100644 --- a/module/execution/ui/story.html.php +++ b/module/execution/ui/story.html.php @@ -375,8 +375,10 @@ if($canBatchAction) /* DataTable columns. */ $config->story->dtable->fieldList['title']['title'] = $lang->story->title; -$setting = $this->loadModel('datatable')->getSetting('execution', 'story', false, $storyType); -$cols = array(); +$cols = array(); +$setting = $this->loadModel('datatable')->getSetting('execution', 'story', false, $storyType); +$canModifyExecution = common::canModify('execution', $execution); +if(!$canModifyExecution) $setting['actions']['actionsMap'] = array(); if($storyType == 'requirement') unset($setting['plan'], $setting['stage'], $setting['taskCount'], $setting['bugCount'], $setting['caseCount']); foreach($setting as $col) { @@ -389,13 +391,14 @@ foreach($setting as $col) } /* DataTable data. */ -$data = array(); +$data = array(); $actionMenus = array('submitreview', 'recall', 'recalledchange', 'review', 'dropdown', 'createTask', 'batchCreateTask', 'divider', 'storyEstimate', 'testcase', 'unlink'); if(empty($execution->hasProduct) && empty($execution->multiple)) { $actionMenus = array('submitreview', 'recall', 'recalledchange', 'review', 'dropdown', 'createTask', 'batchCreateTask', 'edit', 'divider', 'storyEstimate', 'testcase', 'batchCreate', 'close'); if($storyType == 'requirement') $actionMenus = array('submitreview', 'recall', 'recalledchange', 'review', 'dropdown', 'edit', 'divider', 'batchCreate', 'close'); } +if(!$canModifyExecution) $actionMenus = array(); $options = array('storyTasks' => $storyTasks, 'storyBugs' => $storyBugs, 'storyCases' => $storyCases, 'modules' => $modules ?? array(), 'plans' => (isset($plans) ? $plans : array()), 'users' => $users, 'execution' => $execution, 'actionMenus' => $actionMenus, 'branches' => $branchPairs); foreach($stories as $story) diff --git a/module/task/ui/view.html.php b/module/task/ui/view.html.php index ae8ed986b2..05b2ab50bb 100644 --- a/module/task/ui/view.html.php +++ b/module/task/ui/view.html.php @@ -29,7 +29,7 @@ if(!$isInModal && hasPriv('task', 'create', $task)) /* 初始化底部操作栏。Init bottom actions. */ $config->task->actionList['batchCreate']['hint'] = $config->task->actionList['batchCreate']['text'] = $lang->task->children; -$actions = !$task->deleted ? $this->loadModel('common')->buildOperateMenu($task) : array(); +$actions = !$task->deleted && common::canModify('execution', $execution) ? $this->loadModel('common')->buildOperateMenu($task) : array(); $hasDivider = !empty($actions['mainActions']) && !empty($actions['suffixActions']); if(!empty($actions)) $actions = array_merge($actions['mainActions'], array('type' => 'divider'), $actions['suffixActions']); if(!$hasDivider) unset($actions['type']);