From 8e0f54cf6edb917acfa42b7478ae8f9b0fd2e32d Mon Sep 17 00:00:00 2001 From: chenfei Date: Fri, 26 Jul 2019 16:04:09 +0800 Subject: [PATCH] * Finish task: https://backyard.cnezsoft.com/pms/task-view-8372.html --- framework/control.class.php | 16 ++++++++++++++++ module/bug/view/view.html.php | 3 +-- module/build/view/view.html.php | 3 +-- module/product/view/view.html.php | 3 +-- module/productplan/view/view.html.php | 3 +-- module/project/view/view.html.php | 3 +-- module/release/view/view.html.php | 3 +-- module/story/view/view.html.php | 3 +-- module/task/view/view.html.php | 3 +-- module/testcase/view/view.html.php | 5 +---- module/testsuite/view/view.html.php | 3 +-- module/testtask/view/view.html.php | 5 +---- 12 files changed, 27 insertions(+), 26 deletions(-) diff --git a/framework/control.class.php b/framework/control.class.php index 9b942bbcb5..983312b8ca 100644 --- a/framework/control.class.php +++ b/framework/control.class.php @@ -211,6 +211,22 @@ class control extends baseControl if($flow && $action) $this->loadModel('workflowhook')->execute($flow, $action, $objectID); } + /** + * Build operate menu of a method. + * + * @param object $object product|project|productplan|release|build|story|task|bug|testtask|testcase|testsuite + * @param string $displayOn view|browse + * @access public + * @return void + */ + public function buildOperateMenu($object, $displayOn = 'view') + { + if(!isset($this->config->bizVersion)) return false; + + $flow = $this->loadModel('workflow')->getByModule($this->moduleName); + return $this->loadModel('flow')->buildOperateMenu($flow, $object, $displayOn); + } + /** * Print extend fields. * diff --git a/module/bug/view/view.html.php b/module/bug/view/view.html.php index 5173860b7a..b18b043245 100644 --- a/module/bug/view/view.html.php +++ b/module/bug/view/view.html.php @@ -80,8 +80,7 @@ if($config->global->flow != 'onlyTest') common::printIcon('bug', 'toStory', "product=$bug->product&branch=$bug->branch&module=0&story=0&project=0&bugID=$bug->id", $bug, 'button', $lang->icons['story']); common::printIcon('bug', 'createCase', $convertParams, $bug, 'button', 'sitemap'); - $flow = $this->loadModel('workflow')->getByModule('bug'); - echo $this->loadModel('flow')->buildOperateMenu($flow, $bug, 'view'); + echo $this->buildOperateMenu($bug, 'view'); echo "
"; common::printIcon('bug', 'edit', $params, $bug); diff --git a/module/build/view/view.html.php b/module/build/view/view.html.php index 977298f0e1..aece44133f 100644 --- a/module/build/view/view.html.php +++ b/module/build/view/view.html.php @@ -50,8 +50,7 @@ tbody tr td:first-child input{display:none;} deleted) { - $flow = $this->loadModel('workflow')->getByModule('build'); - echo $this->loadModel('flow')->buildOperateMenu($flow, $build, 'view'); + echo $this->buildOperateMenu($build, 'view'); if(common::hasPriv('build', 'edit')) echo html::a($this->createLink('build', 'edit', "buildID=$build->id"), " " . $this->lang->edit, '', "class='btn btn-link' title='{$this->lang->edit}'"); if(common::hasPriv('build', 'delete')) echo html::a($this->createLink('build', 'delete', "buildID=$build->id"), " " . $this->lang->delete, '', "class='btn btn-link' title='{$this->lang->delete}' target='hiddenwin'"); diff --git a/module/product/view/view.html.php b/module/product/view/view.html.php index bdc21b4bae..4d922a3a63 100644 --- a/module/product/view/view.html.php +++ b/module/product/view/view.html.php @@ -90,8 +90,7 @@ common::printBack($browseLink); if(!$product->deleted) { - $flow = $this->loadModel('workflow')->getByModule('product'); - echo $this->loadModel('flow')->buildOperateMenu($flow, $product, 'view'); + echo $this->buildOperateMenu($product, 'view'); echo "
"; diff --git a/module/productplan/view/view.html.php b/module/productplan/view/view.html.php index e33df31a7c..d63c1ab99c 100644 --- a/module/productplan/view/view.html.php +++ b/module/productplan/view/view.html.php @@ -37,8 +37,7 @@ deleted) { - $flow = $this->loadModel('workflow')->getByModule('productplan'); - echo $this->loadModel('flow')->buildOperateMenu($flow, $plan, 'view'); + echo $this->buildOperateMenu($plan, 'view'); if(common::hasPriv('productplan', 'create') and $plan->parent <= '0') echo html::a($this->createLink('productplan', 'create', "product={$plan->product}&branch={$plan->branch}&parent={$plan->id}"), " " . $this->lang->productplan->children , '', "class='btn btn-link' title='{$this->lang->productplan->children}'"); if(common::hasPriv('productplan', 'edit')) echo html::a($this->createLink('productplan', 'edit', "planID=$plan->id"), " " . $this->lang->edit, '', "class='btn btn-link' title='{$this->lang->edit}'"); diff --git a/module/project/view/view.html.php b/module/project/view/view.html.php index 57fb65d5a8..0f46acdc2e 100644 --- a/module/project/view/view.html.php +++ b/module/project/view/view.html.php @@ -162,8 +162,7 @@ common::printIcon('project', 'suspend', "projectID=$project->id", $project, 'button', '', '', 'iframe', true); common::printIcon('project', 'close', "projectID=$project->id", $project, 'button', '', '', 'iframe', true); - $flow = $this->loadModel('workflow')->getByModule('project'); - echo $this->loadModel('flow')->buildOperateMenu($flow, $project, 'view'); + echo $this->buildOperateMenu($project, 'view'); echo "
"; common::printIcon('project', 'edit', $params, $project); diff --git a/module/release/view/view.html.php b/module/release/view/view.html.php index d533f04e65..8aa3261bbe 100644 --- a/module/release/view/view.html.php +++ b/module/release/view/view.html.php @@ -33,8 +33,7 @@ deleted) { - $flow = $this->loadModel('workflow')->getByModule('release'); - echo $this->loadModel('flow')->buildOperateMenu($flow, $release, 'view'); + echo $this->buildOperateMenu($release, 'view'); if(common::hasPriv('release', 'changeStatus', $release)) { diff --git a/module/story/view/view.html.php b/module/story/view/view.html.php index 855819bc69..3ecd264244 100644 --- a/module/story/view/view.html.php +++ b/module/story/view/view.html.php @@ -104,8 +104,7 @@ if($from == 'project') common::printIcon('task', 'create', "project=$param&storyID=$story->id&moduleID=$story->module", $story, 'button', 'plus', '', 'showinonlybody'); - $flow = $this->loadModel('workflow')->getByModule('story'); - echo $this->loadModel('flow')->buildOperateMenu($flow, $story, 'view'); + echo $this->buildOperateMenu($story, 'view'); echo "
"; common::printIcon('story', 'edit', "storyID=$story->id", $story); diff --git a/module/task/view/view.html.php b/module/task/view/view.html.php index 4740e22767..c18e939064 100644 --- a/module/task/view/view.html.php +++ b/module/task/view/view.html.php @@ -164,8 +164,7 @@ common::printIcon('task', 'close', "taskID=$task->id", $task, 'button', '', '', 'iframe showinonlybody', true); common::printIcon('task', 'cancel', "taskID=$task->id", $task, 'button', '', '', 'iframe showinonlybody', true); - $flow = $this->loadModel('workflow')->getByModule('task'); - echo $this->loadModel('flow')->buildOperateMenu($flow, $task, 'view'); + echo $this->buildOperateMenu($task, 'view'); if(!isonlybody()) echo "
"; common::printIcon('task', 'edit', "taskID=$task->id", $task, 'button', '', '', 'showinonlybody'); diff --git a/module/testcase/view/view.html.php b/module/testcase/view/view.html.php index 015dffec12..232fd09e0f 100644 --- a/module/testcase/view/view.html.php +++ b/module/testcase/view/view.html.php @@ -115,10 +115,7 @@ if($config->testcase->needReview or !empty($config->testcase->forceReview)) common::printIcon('testcase', 'review', "caseID=$case->id", $case, 'button', '', '', 'iframe', '', '', $lang->testcase->reviewAB); ?> - loadModel('workflow')->getByModule('testcase'); - echo $this->loadModel('flow')->buildOperateMenu($flow, $case, 'view'); - ?> + buildOperateMenu($case, 'view');?> id", $case); diff --git a/module/testsuite/view/view.html.php b/module/testsuite/view/view.html.php index a929141b11..d75537044d 100644 --- a/module/testsuite/view/view.html.php +++ b/module/testsuite/view/view.html.php @@ -31,8 +31,7 @@ deleted) { - $flow = $this->loadModel('workflow')->getByModule('testsuite'); - echo $this->loadModel('flow')->buildOperateMenu($flow, $suite, 'view'); + echo $this->buildOperateMenu($suite, 'view'); common::printIcon('testsuite', 'linkCase', "suiteID=$suite->id", $suite, 'button', 'link'); common::printIcon('testsuite', 'edit', "suiteID=$suite->id"); diff --git a/module/testtask/view/view.html.php b/module/testtask/view/view.html.php index d37b04d66b..e69919184a 100644 --- a/module/testtask/view/view.html.php +++ b/module/testtask/view/view.html.php @@ -57,10 +57,7 @@ common::printIcon('testtask', 'linkCase', "taskID=$task->id", $task, 'button', 'link'); ?> - loadModel('workflow')->getByModule('testtask'); - echo $this->loadModel('flow')->buildOperateMenu($flow, $task, 'view'); - ?> + buildOperateMenu($task, 'view');?>