From fd0b159b629131c7af9f6b34b601e04e06088d3d Mon Sep 17 00:00:00 2001 From: liuhong Date: Mon, 26 Sep 2022 06:08:46 +0000 Subject: [PATCH 01/29] *Fix bug #26245. --- module/task/control.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/module/task/control.php b/module/task/control.php index 2f077c93b0..0a7d7fb331 100755 --- a/module/task/control.php +++ b/module/task/control.php @@ -611,6 +611,16 @@ class task extends control if(!isset($this->view->members[$this->view->task->assignedTo])) $this->view->members[$this->view->task->assignedTo] = $this->view->task->assignedTo; if(isset($this->view->members['closed']) or $this->view->task->status == 'closed') $this->view->members['closed'] = 'Closed'; + $executionList = $this->execution->getByProject($task->project, 'noclosed', 0, true, false, $task->execution); + $project = $this->loadModel('project')->getByID($task->project); + $replace = substr(current($executionList), 0, strpos(current($executionList), '/')); + $execution = array(); + foreach($executionList as $val) + { + $values = str_replace($replace, $project->name, $val); + $execution[] = $values; + } + $this->view->title = $this->lang->task->edit . 'TASK' . $this->lang->colon . $this->view->task->name; $this->view->position[] = $this->lang->task->common; $this->view->position[] = $this->lang->task->edit; @@ -619,7 +629,7 @@ class task extends control $this->view->users = $this->loadModel('user')->getPairs('nodeleted|noclosed', "{$this->view->task->openedBy},{$this->view->task->canceledBy},{$this->view->task->closedBy}"); $this->view->showAllModule = isset($this->config->execution->task->allModule) ? $this->config->execution->task->allModule : ''; $this->view->modules = $this->tree->getTaskOptionMenu($this->view->task->execution, 0, 0, $this->view->showAllModule ? 'allModule' : ''); - $this->view->executions = $this->config->systemMode == 'classic' ? $this->execution->getPairs() : $this->execution->getByProject($task->project, 'noclosed', 0, true, false, $task->execution); + $this->view->executions = $this->config->systemMode == 'classic' ? $this->execution->getPairs() : $execution; $this->display(); } From 36744c5175fb93222caacab2dc5808334327e663 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 27 Sep 2022 08:32:17 +0800 Subject: [PATCH 02/29] * Adjust the record effort style. --- module/task/css/recordestimate.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/task/css/recordestimate.css b/module/task/css/recordestimate.css index 1bf2b838aa..3a8bed36c5 100644 --- a/module/task/css/recordestimate.css +++ b/module/task/css/recordestimate.css @@ -12,7 +12,7 @@ #linearefforts .nav li.active a{color: #0c64eb !important} .input-group-addon {background: #fff} .icon-calendar {color: rgb(22, 168, 248)} -#recordForm .table>thead>tr>th{ border: none} +#recordForm .table>thead>tr>th{border: none; font-weight: 400;} .main-header {border-bottom: none !important} .main-header ul.hours:before{content:"("} .main-header ul.hours:after{content:")"} From 3501b84719929ce3b5a4a5b4772b5ba662c89a6d Mon Sep 17 00:00:00 2001 From: liuhong Date: Tue, 27 Sep 2022 00:59:14 +0000 Subject: [PATCH 03/29] *Adjust code. --- module/task/control.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/module/task/control.php b/module/task/control.php index 0a7d7fb331..87ff53705d 100755 --- a/module/task/control.php +++ b/module/task/control.php @@ -614,11 +614,11 @@ class task extends control $executionList = $this->execution->getByProject($task->project, 'noclosed', 0, true, false, $task->execution); $project = $this->loadModel('project')->getByID($task->project); $replace = substr(current($executionList), 0, strpos(current($executionList), '/')); - $execution = array(); + $executions = array(); foreach($executionList as $val) { - $values = str_replace($replace, $project->name, $val); - $execution[] = $values; + $values = str_replace($replace, $project->name, $val); + $executions[] = $values; } $this->view->title = $this->lang->task->edit . 'TASK' . $this->lang->colon . $this->view->task->name; @@ -629,7 +629,7 @@ class task extends control $this->view->users = $this->loadModel('user')->getPairs('nodeleted|noclosed', "{$this->view->task->openedBy},{$this->view->task->canceledBy},{$this->view->task->closedBy}"); $this->view->showAllModule = isset($this->config->execution->task->allModule) ? $this->config->execution->task->allModule : ''; $this->view->modules = $this->tree->getTaskOptionMenu($this->view->task->execution, 0, 0, $this->view->showAllModule ? 'allModule' : ''); - $this->view->executions = $this->config->systemMode == 'classic' ? $this->execution->getPairs() : $execution; + $this->view->executions = $this->config->systemMode == 'classic' ? $this->execution->getPairs() : $executions; $this->display(); } From 074120b27c9057a19d5fb6e8b5ec137b7ccbbe42 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 27 Sep 2022 09:04:39 +0800 Subject: [PATCH 04/29] * Fix bug #27976. --- module/execution/control.php | 2 +- module/kanban/model.php | 67 ++++-------------------------------- 2 files changed, 8 insertions(+), 61 deletions(-) diff --git a/module/execution/control.php b/module/execution/control.php index 560ed521d5..2c5b30db86 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -2498,7 +2498,7 @@ class execution extends control $kanbanGroup = $this->kanban->getExecutionKanban($executionID, $browseType, $groupBy, '', $orderBy); if(empty($kanbanGroup)) { - $this->kanban->createExecutionLane($executionID, $browseType, $groupBy); + $this->kanban->createExecutionLane($executionID, $browseType); $kanbanGroup = $this->kanban->getExecutionKanban($executionID, $browseType, $groupBy, '', $orderBy); } diff --git a/module/kanban/model.php b/module/kanban/model.php index 511694c98a..b09e255619 100755 --- a/module/kanban/model.php +++ b/module/kanban/model.php @@ -2420,72 +2420,19 @@ class kanbanModel extends model * * @param int $executionID * @param string $type all|story|bug|task - * @param string $groupBy default * @access public * @return void */ - public function createExecutionLane($executionID, $type = 'all', $groupBy = 'default') + public function createExecutionLane($executionID, $type = 'all') { - if($groupBy == 'default' or $type == 'all') + foreach($this->config->kanban->default as $type => $lane) { - foreach($this->config->kanban->default as $type => $lane) - { - $lane->type = $type; - $lane->execution = $executionID; - $this->dao->insert(TABLE_KANBANLANE)->data($lane)->exec(); + $lane->type = $type; + $lane->execution = $executionID; + $this->dao->insert(TABLE_KANBANLANE)->data($lane)->exec(); - $laneID = $this->dao->lastInsertId(); - $this->createExecutionColumns($laneID, $type, $executionID); - } - } - else - { - $this->loadModel($type); - $groupList = $this->getObjectGroup($executionID, $type, $groupBy); - - $objectPairs = array(); - if($groupBy == 'module') $objectPairs = $this->dao->select('id,name')->from(TABLE_MODULE)->where('type')->in('story,bug,task')->andWhere('deleted')->eq('0')->fetchPairs(); - if($groupBy == 'story') $objectPairs = $this->dao->select('id,title')->from(TABLE_STORY)->where('deleted')->eq(0)->fetchPairs(); - if($groupBy == 'assignedTo') $objectPairs = $this->loadModel('user')->getPairs('noletter'); - - $laneName = ''; - $laneOrder = 5; - $colorIndex = 0; - foreach($groupList as $groupKey) - { - if($groupKey) - { - if(strpos('module,story,assignedTo', $groupBy) !== false) - { - $laneName = zget($objectPairs, $groupKey); - } - else - { - $laneName = zget($this->lang->$type->{$groupBy . 'List'}, $groupKey); - } - } - else - { - $laneName = $this->lang->kanban->noGroup; - } - - $lane = new stdClass(); - $lane->execution = $executionID; - $lane->type = $type; - $lane->groupby = $groupBy; - $lane->extra = $groupKey; - $lane->name = $laneName; - $lane->color = $this->config->kanban->laneColorList[$colorIndex]; - $lane->order = $laneOrder; - - $laneOrder += 5; - $colorIndex += 1; - if($colorIndex == count($this->config->kanban->laneColorList) + 1) $colorIndex = 0; - $this->dao->insert(TABLE_KANBANLANE)->data($lane)->exec(); - - $laneID = $this->dao->lastInsertId(); - $this->createExecutionColumns($laneID, $type, $executionID, $groupBy, $groupKey); - } + $laneID = $this->dao->lastInsertId(); + $this->createExecutionColumns($laneID, $type, $executionID); } } From a9832579189066115bf2d1bd9858495277dd4a2c Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 27 Sep 2022 09:13:06 +0800 Subject: [PATCH 05/29] * Fix bug #27973. --- module/kanban/model.php | 1 + 1 file changed, 1 insertion(+) diff --git a/module/kanban/model.php b/module/kanban/model.php index b09e255619..5a2d6148b0 100755 --- a/module/kanban/model.php +++ b/module/kanban/model.php @@ -1796,6 +1796,7 @@ class kanbanModel extends model if(in_array($groupBy, array('module', 'story', 'pri', 'severity'))) $objectPairs[0] = $this->lang->$browseType->$groupBy . ': ' . $this->lang->kanban->noGroup; if(in_array($groupBy, array('assignedTo', 'source'))) $objectPairs[] = $this->lang->$browseType->$groupBy . ': ' . $this->lang->kanban->noGroup; + if($browseType == 'bug' and $groupBy == 'type') $objectPairs[0] = $this->lang->$browseType->$groupBy . ': ' . $this->lang->kanban->noGroup; $laneColor = 0; $order = 1; From b19ca2dc9c2b41d83c3f1e2fba45c863115c04c3 Mon Sep 17 00:00:00 2001 From: liumengyi Date: Tue, 27 Sep 2022 09:28:16 +0800 Subject: [PATCH 06/29] * Fix bug #26595. --- module/action/model.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/module/action/model.php b/module/action/model.php index 0239ec5dc0..255784aff0 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -1060,6 +1060,9 @@ class actionModel extends model $programCondition = empty($this->app->user->view->programs) ? '0' : $this->app->user->view->programs; + $efforts = $this->dao->select('id')->from(TABLE_EFFORT)->where($condition)->fetchPairs(); + $efforts = implode(',', $efforts); + /* Get actions. */ $actions = $this->dao->select('*')->from(TABLE_ACTION) ->where('objectType')->notIN($this->config->action->ignoreObjectType4Dynamic) @@ -1087,6 +1090,7 @@ class actionModel extends model /* Filter out client login/logout actions. */ ->andWhere('action')->notin('disconnectxuanxuan,reconnectxuanxuan,loginxuanxuan,logoutxuanxuan') ->andWhere("IF((objectType = 'program'), (objectID in ($programCondition)), '1=1')") + ->andWhere("IF((objectType = 'effort'), (objectID in ($efforts)), '1=1')") ->orderBy($orderBy) ->page($pager) ->fetchAll(); From 293f9a6a7c95634ac3e0f74a129982d306994ba4 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 27 Sep 2022 09:30:04 +0800 Subject: [PATCH 07/29] * Fix bug #27974. --- module/kanban/model.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/module/kanban/model.php b/module/kanban/model.php index 5a2d6148b0..9941a19590 100755 --- a/module/kanban/model.php +++ b/module/kanban/model.php @@ -1675,7 +1675,8 @@ class kanbanModel extends model if($groupBy == 'assignedTo') { $laneID = (string)$laneID; - if(empty($object->team) and $object->$groupBy !== $laneID) continue; + if(empty($object->team) and $laneID and $object->$groupBy !== $laneID) continue; + if(empty($object->team) and $laneID === '0' and !empty($object->$groupBy)) continue; if(!empty($object->team) and !in_array($laneID, array_keys($object->team), true)) continue; if($object->$groupBy !== $laneID) $cardData['assignedTo'] = $laneID; From 3243e1d1c2e02c2a54e461a9f701f3796b8d7e68 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 27 Sep 2022 09:49:13 +0800 Subject: [PATCH 08/29] * Fix bug #27971. --- module/project/control.php | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/module/project/control.php b/module/project/control.php index 382f8ffc6a..e6ab3c4809 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -1124,7 +1124,6 @@ class project extends control $this->app->loadClass('pager', $static = true); $pager = new pager($recTotal, $recPerPage, $pageID); $sort = common::appendOrder($orderBy); - $bugs = $this->bug->getProjectBugs($projectID, $productID, $branchID, $build, $type, $param, $sort, '', $pager); /* team member pairs. */ $memberPairs = array(); @@ -1153,20 +1152,6 @@ class project extends control } } - /* Process the openedBuild and resolvedBuild fields. */ - $bugs = $this->bug->processBuildForBugs($bugs); - - /* Get story and task id list. */ - $storyIdList = $taskIdList = array(); - foreach($bugs as $bug) - { - if($bug->story) $storyIdList[$bug->story] = $bug->story; - if($bug->task) $taskIdList[$bug->task] = $bug->task; - if($bug->toTask) $taskIdList[$bug->toTask] = $bug->toTask; - } - $storyList = $storyIdList ? $this->loadModel('story')->getByList($storyIdList) : array(); - $taskList = $taskIdList ? $this->loadModel('task')->getByList($taskIdList) : array(); - $moduleID = $type != 'bysearch' ? $param : 0; $modules = $this->tree->getAllModulePairs('bug'); @@ -1187,6 +1172,21 @@ class project extends control } $tree = $moduleID ? $this->tree->getByID($moduleID) : ''; + /* Process the openedBuild and resolvedBuild fields. */ + $bugs = $this->bug->getProjectBugs($projectID, $productID, $branchID, $build, $type, $param, $sort, '', $pager); + $bugs = $this->bug->processBuildForBugs($bugs); + + /* Get story and task id list. */ + $storyIdList = $taskIdList = array(); + foreach($bugs as $bug) + { + if($bug->story) $storyIdList[$bug->story] = $bug->story; + if($bug->task) $taskIdList[$bug->task] = $bug->task; + if($bug->toTask) $taskIdList[$bug->toTask] = $bug->toTask; + } + $storyList = $storyIdList ? $this->loadModel('story')->getByList($storyIdList) : array(); + $taskList = $taskIdList ? $this->loadModel('task')->getByList($taskIdList) : array(); + $showModule = !empty($this->config->datatable->projectBug->showModule) ? $this->config->datatable->projectBug->showModule : ''; /* Assign. */ From 09af08a56e58da3b8cd853d0a4ec018e2a13da77 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 27 Sep 2022 10:00:14 +0800 Subject: [PATCH 09/29] * Fix bug #27965. --- module/kanban/js/view.js | 1 + 1 file changed, 1 insertion(+) diff --git a/module/kanban/js/view.js b/module/kanban/js/view.js index 14fbb1196e..d5a27d05a0 100644 --- a/module/kanban/js/view.js +++ b/module/kanban/js/view.js @@ -1458,6 +1458,7 @@ $(function() }); $('.region-header').on('click', '.action', hideKanbanAction); + $('#regionTabs').on('click', '.action', hideKanbanAction); $('#TRAction').on('click', '.btn', hideKanbanAction); /* Hide action box when user click document */ From a7980a485247828c8bb9533861ae539e750caa19 Mon Sep 17 00:00:00 2001 From: liuhong Date: Tue, 27 Sep 2022 02:15:22 +0000 Subject: [PATCH 10/29] *Update code logic. --- module/task/control.php | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/module/task/control.php b/module/task/control.php index 87ff53705d..6b4220d7cd 100755 --- a/module/task/control.php +++ b/module/task/control.php @@ -611,14 +611,24 @@ class task extends control if(!isset($this->view->members[$this->view->task->assignedTo])) $this->view->members[$this->view->task->assignedTo] = $this->view->task->assignedTo; if(isset($this->view->members['closed']) or $this->view->task->status == 'closed') $this->view->members['closed'] = 'Closed'; - $executionList = $this->execution->getByProject($task->project, 'noclosed', 0, true, false, $task->execution); - $project = $this->loadModel('project')->getByID($task->project); - $replace = substr(current($executionList), 0, strpos(current($executionList), '/')); - $executions = array(); - foreach($executionList as $val) + $executions = array(); + if(!empty($task->project)) { - $values = str_replace($replace, $project->name, $val); - $executions[] = $values; + $executionList = $this->execution->getPairs($task->project); + $project = $this->loadModel('project')->getByID($task->project); + + if(isset($project->model) and $project->model == 'waterfall') + { + foreach($executionList as $key=>$val) + { + $values = $project->name . '/' . $val; + $executions[$key] = $values; + } + } + else + { + $executions = $executionList; + } } $this->view->title = $this->lang->task->edit . 'TASK' . $this->lang->colon . $this->view->task->name; From 41dff1f5fff5ad952ad0b137c2e44492adc6da14 Mon Sep 17 00:00:00 2001 From: liumengyi Date: Tue, 27 Sep 2022 10:27:21 +0800 Subject: [PATCH 11/29] * Optimize code for bug #26595. --- module/action/model.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/action/model.php b/module/action/model.php index 255784aff0..3440903c44 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -1061,7 +1061,7 @@ class actionModel extends model $programCondition = empty($this->app->user->view->programs) ? '0' : $this->app->user->view->programs; $efforts = $this->dao->select('id')->from(TABLE_EFFORT)->where($condition)->fetchPairs(); - $efforts = implode(',', $efforts); + $efforts = !empty($efforts) ? implode(',', $efforts) : 0; /* Get actions. */ $actions = $this->dao->select('*')->from(TABLE_ACTION) From b5ef45a53e71a8982e8133c77cc95dad9b6ec707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=BB=B6=E4=B9=89?= Date: Tue, 27 Sep 2022 10:49:24 +0800 Subject: [PATCH 12/29] * Fix bug #28008. --- module/productplan/view/browsebykanban.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/productplan/view/browsebykanban.html.php b/module/productplan/view/browsebykanban.html.php index 10ff417e03..d3ffd92dbf 100644 --- a/module/productplan/view/browsebykanban.html.php +++ b/module/productplan/view/browsebykanban.html.php @@ -52,7 +52,7 @@ From cd63217eeffb95c177cff38ffc9bdb3c87150007 Mon Sep 17 00:00:00 2001 From: liumengyi Date: Tue, 27 Sep 2022 11:12:29 +0800 Subject: [PATCH 13/29] * Fix bug #28010. --- module/action/model.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/module/action/model.php b/module/action/model.php index 255784aff0..652743a034 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -374,10 +374,10 @@ class actionModel extends model elseif($actionName == 'linked2execution' or $actionName == 'linked2kanban') { $execution = $this->dao->select('name,type')->from(TABLE_PROJECT)->where('id')->eq($action->extra)->fetch(); - $name = $execution->name; - $method = $execution->type == 'kanban' ? 'kanban' : 'view'; - if($name) + if(!empty($execution)) { + $name = $execution->name; + $method = $execution->type == 'kanban' ? 'kanban' : 'view'; $action->extra = (!common::hasPriv('execution', $method) or ($method == 'kanban' and isonlybody())) ? $name : html::a(helper::createLink('execution', $method, "executionID=$action->execution"), $name); } } From 7bf00beebb9ccdc8515d0fc28fff8c442094192e Mon Sep 17 00:00:00 2001 From: hufangzhou Date: Tue, 27 Sep 2022 11:15:38 +0800 Subject: [PATCH 14/29] * Add the fixed bugs to changelog. --- doc/CHANGELOG | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/CHANGELOG b/doc/CHANGELOG index 6113f6b03c..8b2347e370 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -34,6 +34,13 @@ 35025 需求导入模板增加由谁评审字段 旗舰版: 35042 旗舰版周报3个工作项列表能显示总数 +修复的Bug +27875 工时记录页面日期控件展开后显示遮挡 +27778 创建项目和编辑项目的所属项目集字段显示不一致 +27690 创建项目页面提示信息窗口建议向右展开 +27632 复制bug时希望可以同步反馈者和通知邮箱两个字段的信息 +27561 提需求页面所属产品右侧边框线缺失 +27547 编辑项目集预算,点击保存,提示有未提交表单 2022-09-08 17.6.1 完成的需求 From bc3a8296011cca1670e9a4e1f8071cb00d82d816 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 27 Sep 2022 11:40:19 +0800 Subject: [PATCH 15/29] * Fix bug #28004. --- module/kanban/model.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/module/kanban/model.php b/module/kanban/model.php index 9941a19590..3de6e40c7c 100755 --- a/module/kanban/model.php +++ b/module/kanban/model.php @@ -1554,7 +1554,7 @@ class kanbanModel extends model $teamPairs = array(); foreach($taskTeams[$taskID] as $account => $team) $teamPairs[$account] = $team->realname; - $task->team = $teamPairs; + $task->teamMember = $teamPairs; } /* Get objects cards menus. */ @@ -1675,9 +1675,9 @@ class kanbanModel extends model if($groupBy == 'assignedTo') { $laneID = (string)$laneID; - if(empty($object->team) and $laneID and $object->$groupBy !== $laneID) continue; - if(empty($object->team) and $laneID === '0' and !empty($object->$groupBy)) continue; - if(!empty($object->team) and !in_array($laneID, array_keys($object->team), true)) continue; + if(empty($object->teamMember) and $laneID and (string)$object->$groupBy !== $laneID) continue; + if(empty($object->teamMember) and $laneID === '0' and !empty($object->$groupBy)) continue; + if(!empty($object->teamMember) and !in_array($laneID, array_keys($object->teamMember), true)) continue; if($object->$groupBy !== $laneID) $cardData['assignedTo'] = $laneID; } @@ -1746,9 +1746,9 @@ class kanbanModel extends model { if(!isset($groupByList[$item->$groupBy])) $groupByList[$item->$groupBy] = $item->$groupBy; - if($groupBy == 'assignedTo' and !empty($item->team)) + if($groupBy == 'assignedTo' and !empty($item->teamMember)) { - foreach($item->team as $account => $name) + foreach($item->teamMember as $account => $name) { if(!isset($groupByList[$account])) $groupByList[$account] = $account; } From 0b280ca5c1d2ae740089cdc8c6407a6e832539c0 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 27 Sep 2022 13:12:05 +0800 Subject: [PATCH 16/29] * Fix bug #28001. --- module/kanban/model.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/module/kanban/model.php b/module/kanban/model.php index 3de6e40c7c..e863236a77 100755 --- a/module/kanban/model.php +++ b/module/kanban/model.php @@ -1671,7 +1671,8 @@ class kanbanModel extends model $cardData = array(); if(in_array($groupBy, array('module', 'story', 'pri', 'severity')) and (int)$object->$groupBy !== $laneID) continue; - if(in_array($groupBy, array('type', 'category', 'source')) and $object->$groupBy !== $laneID) continue; + if($laneID and in_array($groupBy, array('type', 'category', 'source')) and $object->$groupBy !== $laneID) continue; + if(empty($laneID) and !empty($object->$groupBy)) continue; if($groupBy == 'assignedTo') { $laneID = (string)$laneID; From 061d5050f7b8a5e2b00aa7063704eab50a741f8c Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 27 Sep 2022 13:24:14 +0800 Subject: [PATCH 17/29] * Adjust the record effort style. --- module/task/css/recordestimate.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/task/css/recordestimate.css b/module/task/css/recordestimate.css index 3a8bed36c5..284d0c171a 100644 --- a/module/task/css/recordestimate.css +++ b/module/task/css/recordestimate.css @@ -12,7 +12,7 @@ #linearefforts .nav li.active a{color: #0c64eb !important} .input-group-addon {background: #fff} .icon-calendar {color: rgb(22, 168, 248)} -#recordForm .table>thead>tr>th{border: none; font-weight: 400;} +#recordForm .table > thead > tr > th {border: none; font-weight: 400;} .main-header {border-bottom: none !important} .main-header ul.hours:before{content:"("} .main-header ul.hours:after{content:")"} From f9d101fbcc05bd1b3992a4221e16e9ed65c53070 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 27 Sep 2022 13:26:09 +0800 Subject: [PATCH 18/29] * Fix bug #27965. --- module/kanban/js/view.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/module/kanban/js/view.js b/module/kanban/js/view.js index d5a27d05a0..00e2a211f4 100644 --- a/module/kanban/js/view.js +++ b/module/kanban/js/view.js @@ -1457,8 +1457,7 @@ $(function() resetRegionHeight($(this).hasClass('icon-angle-top') ? 'open' : 'close'); }); - $('.region-header').on('click', '.action', hideKanbanAction); - $('#regionTabs').on('click', '.action', hideKanbanAction); + $('#regionTabs, .region-header').on('click', '.action', hideKanbanAction); $('#TRAction').on('click', '.btn', hideKanbanAction); /* Hide action box when user click document */ From cb7aa61d798c42fc8d6b6ff9b792c6cbba879f69 Mon Sep 17 00:00:00 2001 From: chaideqing Date: Tue, 27 Sep 2022 13:26:32 +0800 Subject: [PATCH 19/29] * xuanxuan notification only support bug,task,story,mr --- .../extension/xuan/message/ext/model/class/xuanxuan.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xuanxuan/extension/xuan/message/ext/model/class/xuanxuan.class.php b/xuanxuan/extension/xuan/message/ext/model/class/xuanxuan.class.php index 5ec9449fb8..8a33333ac8 100644 --- a/xuanxuan/extension/xuan/message/ext/model/class/xuanxuan.class.php +++ b/xuanxuan/extension/xuan/message/ext/model/class/xuanxuan.class.php @@ -150,7 +150,7 @@ class xuanxuanMessage extends messageModel $content = json_encode($contentData); $avatarUrl = $server . $this->app->getWebRoot() . 'favicon.ico'; - if($target) $this->loadModel('im')->messageCreateNotify($target, $title, $subtitle = '', $content, $contentType = 'object', $url, $actions = array(), $sender = array('id' => 'zentao', 'realname' => $this->lang->message->sender, 'name' => $this->lang->message->sender, 'avatar' => $avatarUrl)); + if($target && ($objectType == 'bug' || $objectType == 'task' || $objectType == 'story')) $this->loadModel('im')->messageCreateNotify($target, $title, $subtitle = '', $content, $contentType = 'object', $url, $actions = array(), $sender = array('id' => 'zentao', 'realname' => $this->lang->message->sender, 'name' => $this->lang->message->sender, 'avatar' => $avatarUrl)); if($objectType == 'mr' and is_array($this->lang->message->mr->$actionType) and !empty($object->assignee)) { From 9a0642075a3ed710bde56f95409a43f3b9429c12 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 27 Sep 2022 13:42:30 +0800 Subject: [PATCH 20/29] * Fix bug #27974,28001. --- module/kanban/model.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/module/kanban/model.php b/module/kanban/model.php index e863236a77..d02ca66601 100755 --- a/module/kanban/model.php +++ b/module/kanban/model.php @@ -1610,6 +1610,7 @@ class kanbanModel extends model $laneData['order'] = $lane->order; $laneData['type'] = $browseType; $laneData['defaultCardType'] = $browseType; + if(empty($laneID) and !in_array($groupBy, array('module', 'story', 'pri', 'severity'))) $laneID = ''; if($browseType == 'task' and $groupBy == 'story') { @@ -1671,13 +1672,12 @@ class kanbanModel extends model $cardData = array(); if(in_array($groupBy, array('module', 'story', 'pri', 'severity')) and (int)$object->$groupBy !== $laneID) continue; - if($laneID and in_array($groupBy, array('type', 'category', 'source')) and $object->$groupBy !== $laneID) continue; - if(empty($laneID) and !empty($object->$groupBy)) continue; + if(in_array($groupBy, array('type', 'category', 'source')) and $object->$groupBy !== $laneID) continue; if($groupBy == 'assignedTo') { $laneID = (string)$laneID; - if(empty($object->teamMember) and $laneID and (string)$object->$groupBy !== $laneID) continue; - if(empty($object->teamMember) and $laneID === '0' and !empty($object->$groupBy)) continue; + if(empty($object->$groupBy)) $object->$groupBy = ''; + if(empty($object->teamMember) and (string)$object->$groupBy !== $laneID) continue; if(!empty($object->teamMember) and !in_array($laneID, array_keys($object->teamMember), true)) continue; if($object->$groupBy !== $laneID) $cardData['assignedTo'] = $laneID; From 1513c4a3037068ecbad75985a12d70168d9f4601 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 27 Sep 2022 15:14:54 +0800 Subject: [PATCH 21/29] * Modify navigation default font color. --- module/bug/view/ajaxgetdropmenu.html.php | 4 ++-- module/design/view/ajaxgetdropmenu.html.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/module/bug/view/ajaxgetdropmenu.html.php b/module/bug/view/ajaxgetdropmenu.html.php index 7315c653b6..c4c129476a 100644 --- a/module/bug/view/ajaxgetdropmenu.html.php +++ b/module/bug/view/ajaxgetdropmenu.html.php @@ -17,7 +17,7 @@ foreach($products as $product) } $productsPinYin = common::convert2Pinyin($productNames); $linkHtml = $this->product->setParamsForLink($module, $link, $projectID, 0); -$productsHtml = count($products) > 1 ? html::a($linkHtml, $this->lang->bug->allProduct, '', "class='text-important' title='{$this->lang->bug->allProduct}' data-key='" . zget($productsPinYin, $this->lang->bug->allProduct, '') . "' data-app='{$this->app->tab}'") : ''; +$productsHtml = count($products) > 1 ? html::a($linkHtml, $this->lang->bug->allProduct, '', "class='text-primary' title='{$this->lang->bug->allProduct}' data-key='" . zget($productsPinYin, $this->lang->bug->allProduct, '') . "' data-app='{$this->app->tab}'") : ''; foreach($products as $product) { @@ -26,7 +26,7 @@ foreach($products as $product) $productName .= $product->line ? zget($lines, $product->line, '') . '/' . $product->name : $product->name; $objectID = ($product->type != 'platform' && $module == 'branch' && $method == 'manage') ? $productID : $product->id; $linkHtml = $this->product->setParamsForLink($module, $link, $projectID, $product->id); - $productsHtml .= html::a($linkHtml, $productName, '', "class='text-important $selected' title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-app='{$this->app->tab}'"); + $productsHtml .= html::a($linkHtml, $productName, '', "class='text-primary $selected' title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-app='{$this->app->tab}'"); } ?>
diff --git a/module/design/view/ajaxgetdropmenu.html.php b/module/design/view/ajaxgetdropmenu.html.php index d2aaa4b0bd..592e42260b 100644 --- a/module/design/view/ajaxgetdropmenu.html.php +++ b/module/design/view/ajaxgetdropmenu.html.php @@ -25,7 +25,7 @@ foreach($products as $product) $linkHtml = sprintf($link, $product->id); if($product->status == 'normal' and $product->PO == $this->app->user->account) { - $myProductsHtml .= html::a($linkHtml, $productName, '', "class='text-important $selected' title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-app='$tab'"); + $myProductsHtml .= html::a($linkHtml, $productName, '', "class='text-primary $selected' title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-app='$tab'"); } else if($product->status == 'normal' and !($product->PO == $this->app->user->account)) { From 682425df5e00dccd985978bdda8854bffad51b9d Mon Sep 17 00:00:00 2001 From: hufangzhou Date: Tue, 27 Sep 2022 15:17:41 +0800 Subject: [PATCH 22/29] * Fix bug #28003. --- module/testcase/view/view.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/testcase/view/view.html.php b/module/testcase/view/view.html.php index 935c0ecd7d..c2b0b04f5e 100644 --- a/module/testcase/view/view.html.php +++ b/module/testcase/view/view.html.php @@ -18,7 +18,7 @@