From 2d3947e441209cc6561871b6c3cdd6517151b1e6 Mon Sep 17 00:00:00 2001 From: leiyong <1549684884@qq.com> Date: Thu, 27 Aug 2020 14:41:27 +0800 Subject: [PATCH 1/5] * Fix bug. --- module/block/control.php | 4 ++-- module/block/lang/zh-cn.php | 1 + module/block/view/scrumoverallblock.html.php | 4 ++-- module/program/model.php | 2 +- module/programplan/config.php | 12 +----------- 5 files changed, 7 insertions(+), 16 deletions(-) diff --git a/module/block/control.php b/module/block/control.php index 9279a46d36..74648f574d 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -1311,8 +1311,8 @@ class block extends control ->beginIF($projects && $products)->where('project')->in(array_keys($projects))->orWhere('product')->in(array_keys($products))->fi() ->beginIF($projects && empty($products))->where('project')->in(array_keys($projects))->fi() ->beginIF(empty($projects) && $products)->where('product')->in(array_keys($products))->fi() - ->orderBy('id_desc') - ->limit(30) + ->orderBy('date_desc') + ->limit(10) ->fetchAll(); } diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php index e7f2d0ca9a..c5db4d2fab 100644 --- a/module/block/lang/zh-cn.php +++ b/module/block/lang/zh-cn.php @@ -341,6 +341,7 @@ $lang->block->modules['scrum']['index'] = new stdclass(); $lang->block->modules['scrum']['index']->availableBlocks = new stdclass(); $lang->block->modules['scrum']['index']->availableBlocks->scrumoverall = '项目整体情况'; $lang->block->modules['scrum']['index']->availableBlocks->scrumlist = $lang->projectCommon . '列表'; +$lang->block->modules['scrum']['index']->availableBlocks->scrumroadmap = $lang->productCommon . '路线图'; $lang->block->modules['scrum']['index']->availableBlocks->scrumproject = $lang->projectCommon . '总览'; $lang->block->modules['scrum']['index']->availableBlocks->scrumproduct = $lang->productCommon . '总览'; $lang->block->modules['scrum']['index']->availableBlocks->scrumtest = '待测版本'; diff --git a/module/block/view/scrumoverallblock.html.php b/module/block/view/scrumoverallblock.html.php index ec5fd51d18..b5ea3130ec 100644 --- a/module/block/view/scrumoverallblock.html.php +++ b/module/block/view/scrumoverallblock.html.php @@ -52,7 +52,7 @@ -
+
block->totalStory;?>
allStories ? html::a($this->createLink('project', 'story', 'projectID=' . $programID), $totalData[$programID]->allStories) : 0;?> @@ -69,7 +69,7 @@ leftStories;?>
-
+
block->totalBug;?>
allBugs ? html::a($this->createLink('qa', 'index'), $totalData[$programID]->allBugs) : 0;?> diff --git a/module/program/model.php b/module/program/model.php index 839aaa911b..0968794311 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -91,7 +91,7 @@ class programModel extends model if(empty($programs)) return array(); $programIdList = array_keys($programs); - $hours = $this->dao->select('program, sum(consumed) as consumed, sum(estimate) as estimate')->from(TABLE_TASK) + $hours = $this->dao->select('program, cast(sum(consumed) as decimal(10,2)) as consumed, cast(sum(estimate) as decimal(10,2)) as estimate')->from(TABLE_TASK) ->where('program')->in($programIdList) ->andWhere('deleted')->eq(0) ->andWhere('parent')->lt(1) diff --git a/module/programplan/config.php b/module/programplan/config.php index 6886393a37..084c2dcf86 100644 --- a/module/programplan/config.php +++ b/module/programplan/config.php @@ -5,7 +5,7 @@ $config->programplan->create->requiredFields = 'name,begin,end'; $config->programplan->edit->requiredFields = 'name,begin,end'; $config->programplan->datatable = new stdclass(); -$config->programplan->datatable->defaultField = array('id', 'name', 'percent', 'attribute', 'milestone', 'begin', 'end', 'realStarted', 'realFinished', 'output', 'openedBy', 'openedDate', 'actions'); +$config->programplan->datatable->defaultField = array('id', 'name', 'percent', 'attribute', 'milestone', 'begin', 'end', 'realStarted', 'realFinished', 'openedBy', 'openedDate', 'actions'); $config->programplan->datatable->fieldList['id']['title'] = 'idAB'; $config->programplan->datatable->fieldList['id']['fixed'] = 'left'; @@ -32,16 +32,6 @@ $config->programplan->datatable->fieldList['milestone']['fixed'] = 'no'; $config->programplan->datatable->fieldList['milestone']['width'] = '100'; $config->programplan->datatable->fieldList['milestone']['required'] = 'no'; -$config->programplan->datatable->fieldList['output']['title'] = 'output'; -$config->programplan->datatable->fieldList['output']['fixed'] = 'no'; -$config->programplan->datatable->fieldList['output']['width'] = '200'; -$config->programplan->datatable->fieldList['output']['required'] = 'no'; - -//$config->programplan->datatable->fieldList['version']['title'] = 'version'; -//$config->programplan->datatable->fieldList['version']['fixed'] = 'no'; -//$config->programplan->datatable->fieldList['version']['width'] = '70'; -//$config->programplan->datatable->fieldList['version']['required'] = 'no'; - $config->programplan->datatable->fieldList['openedBy']['title'] = 'openedBy'; $config->programplan->datatable->fieldList['openedBy']['fixed'] = 'no'; $config->programplan->datatable->fieldList['openedBy']['width'] = '90'; From 269b33eb13ec5fc3ee1d797045778e94c8863446 Mon Sep 17 00:00:00 2001 From: Catouse Date: Thu, 27 Aug 2020 15:31:25 +0800 Subject: [PATCH 2/5] * fix data error in cmmigantt block. --- module/block/control.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/block/control.php b/module/block/control.php index b4936d1f01..6cfab6da8b 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -1138,7 +1138,7 @@ class block extends control { $products = $this->loadModel('product')->getPairs(); $productID = isset($this->session->product) ? 0 : $this->session->product; - if($productID && !array_key_exists($productID, $products)) $productID = 0; + if(!$productID || !array_key_exists($productID, $products)) $productID = array_key_first($products); $this->view->plans = $this->loadModel('programplan')->getDataForGantt($this->session->program, $productID, 0, 'task', false); $this->view->products = $products; From 4da6d4bfffa9afa425e417132555f72eb0ba7667 Mon Sep 17 00:00:00 2001 From: leiyong <1549684884@qq.com> Date: Fri, 28 Aug 2020 08:33:27 +0800 Subject: [PATCH 3/5] * Adjust code. --- module/block/config.php | 4 ---- module/block/control.php | 23 ++++++-------------- module/block/js/dashboard.js | 11 +++++----- module/block/view/dashboard.html.php | 2 -- module/block/view/scrumlistblock.html.php | 2 +- module/block/view/scrumoverallblock.html.php | 2 +- module/block/view/scrumproductblock.html.php | 2 +- module/block/view/scrumprojectblock.html.php | 16 ++++---------- module/block/view/scrumroadmapblock.html.php | 16 +++++--------- 9 files changed, 24 insertions(+), 54 deletions(-) diff --git a/module/block/config.php b/module/block/config.php index acd44f32ba..56f6fe5c09 100644 --- a/module/block/config.php +++ b/module/block/config.php @@ -31,9 +31,5 @@ $config->block->shortBlock['program']['cmmiestimate'] = 'cmmiestimate'; $config->block->shortBlock['program']['cmmiprogress'] = 'cmmiprogress'; $config->block->shortBlock['']['contribute'] = 'contribute'; -$config->block->showAction['overview'] = array('block' => 'qa', 'module' => 'testcase', 'method' => 'create', 'vars' => ''); -$config->block->showAction['scrumlist'] = array('block' => 'program', 'module' => 'project', 'method' => 'create', 'vars' => ''); -$config->block->showAction['scrumproduct'] = array('block' => 'program', 'module' => 'product', 'method' => 'create', 'vars' => ''); - $config->statistic = new stdclass(); $config->statistic->storyStages = array('wait', 'planned', 'developing', 'testing', 'released'); diff --git a/module/block/control.php b/module/block/control.php index 6cfab6da8b..650ae5512a 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -239,18 +239,6 @@ class block extends control $block->moreLink = $this->createLink('company', 'dynamic'); } - - $block->actionLink = ''; - if(isset($this->config->block->showAction[$block->block])) - { - $action = $this->config->block->showAction[$block->block]; - if(common::hasPriv($action['module'], $action['method'])) - { - $this->app->loadLang($action['module']); - $block->actionLink = html::a($this->createLink($action['module'], $action['method'], $action['vars']), " " . $this->lang->{$action['module']}->create, '', "class='btn btn-mini'"); - } - } - if($this->block->isLongBlock($block)) { $longBlocks[$key] = $block; @@ -1296,6 +1284,7 @@ class block extends control { $this->view->summary = $this->dao->select('count(*) as total, count(if(status="doing", id, null)) as doing, count(if(status="closed", id, null)) as finish')->from(TABLE_PROJECT) ->where('program')->eq($this->session->program) + ->where('deleted')->eq('0') ->fetch(); } @@ -1330,10 +1319,11 @@ class block extends control * Print srcum road map block. * * @param int $productID + * @param int $blockNavID * @access public * @return void */ - public function printScrumroadmapBlock($productID = 0) + public function printScrumroadmapBlock($productID = 0, $blockNavID = '') { $this->session->set('releaseList', $this->app->getURI(true)); $this->session->set('productPlanList', $this->app->getURI(true)); @@ -1343,9 +1333,10 @@ class block extends control $this->view->roadmaps = $this->product->getRoadmap($productID, 0, 6); - $this->view->productID = $productID; - $this->view->products = $products; - $this->view->sync = 1; + $this->view->productID = $productID; + $this->view->products = $products; + $this->view->sync = 1; + $this->view->blockNavID = $blockNavID; if($_POST) { diff --git a/module/block/js/dashboard.js b/module/block/js/dashboard.js index ef725d9191..076da66adb 100644 --- a/module/block/js/dashboard.js +++ b/module/block/js/dashboard.js @@ -251,20 +251,19 @@ $(function() }); }); -function reloadRoadmap(productID) +function reloadRoadmap(productID, blockNavID) { $.ajax( { - url: createLink('block', 'printScrumroadmapBlock', 'id=' + productID), + url: createLink('block', 'printScrumroadmapBlock', 'id=' + productID + '&blockNavID=' + blockNavID), dataType: "html", async: false, - data: {id: productID}, + data: {id: productID, blockNavID: blockNavID}, type: 'post', success: function(data) { - $("#roadMap").html(''); - $("#roadMap").html(data); - $('#productID').chosen(); + $("#roadMap" + blockNavID).html(data); + $("#" + blockNavID).chosen(); } }) } diff --git a/module/block/view/dashboard.html.php b/module/block/view/dashboard.html.php index 9e5d990734..7f33608bce 100644 --- a/module/block/view/dashboard.html.php +++ b/module/block/view/dashboard.html.php @@ -38,7 +38,6 @@ $useGuest = $this->app->user->account == 'guest';
title;?>
@@ -34,11 +26,11 @@
  • - doing;?> + doing;?> block->doingProject;?>
  • - finish;?> + finish;?> block->finishProject;?>
diff --git a/module/block/view/scrumroadmapblock.html.php b/module/block/view/scrumroadmapblock.html.php index dfc6b844e0..aeebb95ad4 100644 --- a/module/block/view/scrumroadmapblock.html.php +++ b/module/block/view/scrumroadmapblock.html.php @@ -10,25 +10,19 @@ * @link http://www.zentao.net */ ?> -' : '';?> +' : ''; +?>
-
-
createLink('productplan', 'create', 'productID=' . $productID), ''. $lang->productplan->create, '', 'class="btn btn-mini" id="createPlanLink"');?>
- +
From ffd197ad4e559a0ff81905065e1a8eab4eb2c571 Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Fri, 28 Aug 2020 08:51:47 +0800 Subject: [PATCH 4/5] *Fix comment. --- module/design/control.php | 30 +++++++++++++------------ module/design/model.php | 46 ++++++++++++++++++++------------------- 2 files changed, 40 insertions(+), 36 deletions(-) diff --git a/module/design/control.php b/module/design/control.php index 7971e61e1b..f8d357aec1 100644 --- a/module/design/control.php +++ b/module/design/control.php @@ -11,11 +11,12 @@ */ class design extends control { - /** + /** * Browse designs. * * @param int $productID - * @param string $type + * @param string $type all|HLDS|DDS|DBDS|ADS + * @param string $param * @param string $orderBy * @param int $recTotal * @param int $recPerPage @@ -27,15 +28,15 @@ class design extends control { $productID = $this->loadModel('product')->saveState($productID, $this->product->getPairs('nocode')); + $this->design->setProductMenu($productID); + $product = $this->loadModel('product')->getById($productID); + $program = $this->loadModel('project')->getById($product->program); + $queryID = ($type == 'bySearch') ? (int)$param : 0; /* Build the search form. */ $actionURL = $this->createLink('design', 'browse', "productID=$productID&type=bySearch&queryID=myQueryID"); $this->design->buildSearchForm($queryID, $actionURL); - $this->design->setProductMenu($productID); - $product = $this->loadModel('product')->getById($productID); - $program = $this->loadModel('project')->getById($product->program); - $this->app->session->set('designList', $this->app->getURI(true)); $this->app->loadClass('pager', $static = true); @@ -65,8 +66,6 @@ class design extends control * Create a design. * * @param int $productID - * @param string $prevModule - * @param int $prevID * @access public * @return void */ @@ -107,8 +106,9 @@ class design extends control } /** - * Batch create + * Batch create designs. * + * @param int $productID * @access public * @return void */ @@ -141,6 +141,7 @@ class design extends control $this->view->users = $this->loadModel('user')->getPairs('noclosed'); $this->display(); } + /** * View a design. * @@ -214,6 +215,7 @@ class design extends control * Commit a design. * * @param int $designID + * @param int $repoID * @param string $begin * @param string $end * @param int $recTotal @@ -222,7 +224,7 @@ class design extends control * @access public * @return void */ - public function commit($designID, $repoID = 0, $begin = '', $end = '', $recTotal = 0, $recPerPage = 50, $pageID = 1) + public function commit($designID = 0, $repoID = 0, $begin = '', $end = '', $recTotal = 0, $recPerPage = 50, $pageID = 1) { $this->app->loadClass('pager', $static = true); $pager = new pager($recTotal, $recPerPage, $pageID); @@ -269,13 +271,13 @@ class design extends control } /** - * Revision + * A version of the code base. * * @param int $repoID * @access public * @return void */ - public function revision($repoID) + public function revision($repoID = 0) { $repo = $this->dao->select('*')->from(TABLE_REPOHISTORY)->where('id')->eq($repoID)->fetch(); $repoURL = $this->createLink('repo', 'revision', "repoID=$repo->repo&revistion=$repo->revision"); @@ -290,7 +292,7 @@ class design extends control * @access public * @return void */ - public function delete($designID, $confirm = 'no') + public function delete($designID = 0, $confirm = 'no') { if($confirm == 'no') { @@ -310,7 +312,7 @@ class design extends control * @access public * @return void */ - public function assignTo($designID) + public function assignTo($designID = 0) { if($_POST) { diff --git a/module/design/model.php b/module/design/model.php index 5b2ea4fbea..2b5b155db0 100644 --- a/module/design/model.php +++ b/module/design/model.php @@ -54,8 +54,9 @@ class designModel extends model } /** - * Batch create + * Batch create designs. * + * @param int $productID * @access public * @return bool */ @@ -93,7 +94,7 @@ class designModel extends model * @access public * @return bool */ - public function update($designID) + public function update($designID = 0) { $oldDesign = $this->getByID($designID); $design = fixer::input('post') @@ -141,7 +142,7 @@ class designModel extends model * @access public * @return void */ - public function linkCommit($designID, $repoID) + public function linkCommit($designID = 0, $repoID = 0) { $this->dao->delete()->from(TABLE_RELATION)->where('AType')->eq('design')->andWhere('AID')->eq($designID)->andWhere('BType')->eq('commit')->andWhere('relation')->eq('completedin')->exec(); $this->dao->delete()->from(TABLE_RELATION)->where('AType')->eq('commit')->andWhere('BID')->eq($designID)->andWhere('BType')->eq('design')->andWhere('relation')->eq('completedfrom')->exec(); @@ -177,7 +178,7 @@ class designModel extends model } /** - * SetProductMenu + * Set product menu. * * @param int $productID * @access public @@ -195,13 +196,13 @@ class designModel extends model } /** - * GetByID + * Get a design by id. * * @param int $designID * @access public * @return object */ - public function getByID($designID) + public function getByID($designID = 0) { $design = $this->dao->select('*')->from(TABLE_DESIGN)->where('id')->eq($designID)->fetch(); $design->files = $this->loadModel('file')->getByObject('design', $designID); @@ -215,14 +216,14 @@ class designModel extends model } /** - * GetDesignPairs + * Get design pairs. * * @param int $productID - * @param string $type + * @param string $type all|HLDS|DDS|DBDS|ADS * @access public * @return object */ - public function getDesignPairs($productID = 0, $type = 'detailed') + public function getDesignPairs($productID = 0, $type = 'all') { $designs = $this->dao->select('id, name')->from(TABLE_DESIGN) ->where('product')->eq($productID) @@ -235,13 +236,13 @@ class designModel extends model } /** - * GetAffectedScope + * Get affected scope. * * @param int $design * @access public * @return object */ - public function getAffectedScope($design) + public function getAffectedScope($design = 0) { /* Get affected tasks. */ $design->tasks = $this->dao->select('*')->from(TABLE_TASK) @@ -254,16 +255,17 @@ class designModel extends model } /** - * GetList + * Get list. * * @param int $productID - * @param int $type - * @param int $orderBy + * @param string $type + * @param int $param + * @param string $orderBy * @param int $pager * @access public * @return array */ - public function getList($productID, $type = 'all', $param = 0, $orderBy = 'id_desc', $pager = null) + public function getList($productID = 0, $type = 'all', $param = 0, $orderBy = 'id_desc', $pager = null) { if($type == 'bySearch') { @@ -292,7 +294,7 @@ class designModel extends model } /** - * Get designs by search + * Get designs by search. * * @param string $queryID * @param string $orderBy @@ -341,7 +343,7 @@ class designModel extends model * @access public * @return void */ - public function buildSearchForm($queryID, $actionURL) + public function buildSearchForm($queryID = 0, $actionURL = '') { $this->config->design->search['actionURL'] = $actionURL; $this->config->design->search['queryID'] = $queryID; @@ -350,14 +352,14 @@ class designModel extends model } /** - * Print assignedTo html + * Print assignedTo html. * - * @param int $design - * @param int $users + * @param object $design + * @param array $users * @access public * @return string */ - public function printAssignedHtml($design, $users) + public function printAssignedHtml($design = '', $users = '') { $btnTextClass = ''; $assignedToText = zget($users, $design->assignedTo); @@ -384,7 +386,7 @@ class designModel extends model * @access public * @return array|bool */ - public function assign($designID) + public function assign($designID = 0) { $oldDesign = $this->getByID($designID); From 969e3cfb5dfb43711042146f42b763e09d8422dd Mon Sep 17 00:00:00 2001 From: leiyong <1549684884@qq.com> Date: Fri, 28 Aug 2020 08:54:36 +0800 Subject: [PATCH 5/5] * Adjust code. --- module/block/control.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/block/control.php b/module/block/control.php index 650ae5512a..3aa3b85aa9 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -1284,7 +1284,7 @@ class block extends control { $this->view->summary = $this->dao->select('count(*) as total, count(if(status="doing", id, null)) as doing, count(if(status="closed", id, null)) as finish')->from(TABLE_PROJECT) ->where('program')->eq($this->session->program) - ->where('deleted')->eq('0') + ->andWhere('deleted')->eq('0') ->fetch(); }