From c27068dbfa8f15358701746fd8d70156f4eaa7af Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Tue, 9 Mar 2021 09:28:23 +0800 Subject: [PATCH 01/15] * Finish task #36485. --- module/common/model.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/module/common/model.php b/module/common/model.php index ef5ffd6fd3..e072de46c5 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -784,6 +784,11 @@ class commonModel extends model $lang->product->menu = $lang->product->setMenu; self::processMenuVars($lang->product->menu); } + if($moduleName == 'qa' and $group == 'project') + { + unset($lang->qa->menu->testsuite); + unset($lang->qa->menu->caselib); + } if(!isset($lang->$moduleName->menu)) { From 80ad23f3b4be5c458ee507a1ce97ea0491f80d45 Mon Sep 17 00:00:00 2001 From: qiyu-xie Date: Tue, 9 Mar 2021 09:42:43 +0800 Subject: [PATCH 02/15] * Finish task#36474. --- module/datatable/model.php | 2 +- module/my/view/execution.html.php | 4 ++-- module/product/view/project.html.php | 4 ++-- module/project/model.php | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/module/datatable/model.php b/module/datatable/model.php index dca133dd43..d37b0db5c6 100644 --- a/module/datatable/model.php +++ b/module/datatable/model.php @@ -153,7 +153,7 @@ class datatableModel extends model $title = (isset($col->name) and $col->name) ? "title='$col->name'" : $title; if($id == 'id' and (int)$width < 90) $width = '90px'; $width = "data-width='$width' style='width:$width'"; - $align = ($id == 'actions' || $id == 'progress') ? 'text-center' : ''; + $align = $id == 'actions' ? 'text-center' : ''; echo ""; if($id == 'actions') diff --git a/module/my/view/execution.html.php b/module/my/view/execution.html.php index e00f93cb0d..c2402101a9 100644 --- a/module/my/view/execution.html.php +++ b/module/my/view/execution.html.php @@ -70,8 +70,8 @@ hours;?> assignedToMeTasks;?> -
-
progress;?>%
+
+
progress;?>
diff --git a/module/product/view/project.html.php b/module/product/view/project.html.php index 916e60599d..5f640f87ee 100644 --- a/module/product/view/project.html.php +++ b/module/product/view/project.html.php @@ -65,8 +65,8 @@ hours->totalEstimate . ' ' . $lang->execution->workHourUnit;?> hours->totalConsumed . ' ' . $lang->execution->workHourUnit;?> -
-
hours->progress;?>%
+
+
hours->progress;?>
diff --git a/module/project/model.php b/module/project/model.php index 0c6e9576b3..a4170a3a19 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -1131,7 +1131,7 @@ class projectModel extends model echo $project->hours->totalLeft . ' ' . $this->lang->execution->workHourUnit; break; case 'progress': - echo "
{$project->hours->progress}%
"; + echo "
{$project->hours->progress}
"; break; case 'actions': if($project->status == 'wait' || $project->status == 'suspended') common::printIcon('project', 'start', "projectID=$project->id", $project, 'list', 'play', '', 'iframe', true); From f6bc489e36d6d6f13c214a30e0fea2f6d3bceeed Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Tue, 9 Mar 2021 09:50:19 +0800 Subject: [PATCH 03/15] * Finish task #36492. --- module/common/lang/de.php | 2 +- module/common/lang/en.php | 2 +- module/common/lang/fr.php | 2 +- module/common/lang/menuOrder.php | 6 +++--- module/common/lang/vi.php | 2 +- module/common/lang/zh-cn.php | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/module/common/lang/de.php b/module/common/lang/de.php index c436ddcd1a..be070adb1a 100644 --- a/module/common/lang/de.php +++ b/module/common/lang/de.php @@ -332,7 +332,7 @@ $lang->my->dividerMenu = ',myProject,team,'; $lang->todo = new stdclass(); $lang->todo->menu = $lang->my->menu; -$lang->product->dividerMenu = ',plan,project,dashboard,'; +$lang->product->dividerMenu = ',requirement,set,'; $lang->story = new stdclass(); diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 6da25aed3d..468fe3ed3a 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -332,7 +332,7 @@ $lang->my->dividerMenu = ',myProject,team,'; $lang->todo = new stdclass(); $lang->todo->menu = $lang->my->menu; -$lang->product->dividerMenu = ',plan,project,dashboard,'; +$lang->product->dividerMenu = ',requirement,set,'; $lang->story = new stdclass(); diff --git a/module/common/lang/fr.php b/module/common/lang/fr.php index 815911f9dc..31d8c8c37e 100644 --- a/module/common/lang/fr.php +++ b/module/common/lang/fr.php @@ -332,7 +332,7 @@ $lang->my->dividerMenu = ',myProject,team,'; $lang->todo = new stdclass(); $lang->todo->menu = $lang->my->menu; -$lang->product->dividerMenu = ',plan,project,dashboard,'; +$lang->product->dividerMenu = ',requirement,set,'; $lang->story = new stdclass(); diff --git a/module/common/lang/menuOrder.php b/module/common/lang/menuOrder.php index 7c0b13c82d..e5c8bbbe78 100644 --- a/module/common/lang/menuOrder.php +++ b/module/common/lang/menuOrder.php @@ -60,15 +60,15 @@ $lang->my->menuOrder[55] = 'contacts'; $lang->todo->menuOrder = $lang->my->menuOrder; /* product menu order. */ -$lang->product->menuOrder[5] = 'requirement'; +$lang->product->menuOrder[5] = 'dashboard'; $lang->product->menuOrder[10] = 'story'; $lang->product->menuOrder[15] = 'plan'; +$lang->product->menuOrder[30] = 'project'; $lang->product->menuOrder[20] = 'release'; $lang->product->menuOrder[25] = 'roadmap'; -$lang->product->menuOrder[30] = 'project'; +$lang->product->menuOrder[30] = 'requirement'; $lang->product->menuOrder[35] = 'track'; $lang->product->menuOrder[40] = 'doc'; -$lang->product->menuOrder[45] = 'dashboard'; $lang->product->menuOrder[50] = 'dynamic'; $lang->product->menuOrder[55] = 'setting'; $lang->product->menuOrder[60] = 'create'; diff --git a/module/common/lang/vi.php b/module/common/lang/vi.php index 100f5738b6..e990ab10e6 100644 --- a/module/common/lang/vi.php +++ b/module/common/lang/vi.php @@ -332,7 +332,7 @@ $lang->my->dividerMenu = ',myProject,team,'; $lang->todo = new stdclass(); $lang->todo->menu = $lang->my->menu; -$lang->product->dividerMenu = ',plan,project,dashboard,'; +$lang->product->dividerMenu = ',requirement,set,'; $lang->story = new stdclass(); diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 109b6b43bc..10ff3db517 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -332,7 +332,7 @@ $lang->my->dividerMenu = ',myProject,team,'; $lang->todo = new stdclass(); $lang->todo->menu = $lang->my->menu; -$lang->product->dividerMenu = ',plan,project,dashboard,'; +$lang->product->dividerMenu = ',requirement,set,'; $lang->story = new stdclass(); From 50c32a9c25827da3de15bba17475df7078a71150 Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Tue, 9 Mar 2021 09:55:48 +0800 Subject: [PATCH 04/15] * Finish task #36443. --- module/common/lang/de.php | 8 ++++---- module/common/lang/en.php | 8 ++++---- module/common/lang/fr.php | 8 ++++---- module/common/lang/menuOrder.php | 10 +++++----- module/common/lang/vi.php | 8 ++++---- module/common/lang/zh-cn.php | 8 ++++---- module/common/lang/zh-tw.php | 8 ++++---- 7 files changed, 29 insertions(+), 29 deletions(-) diff --git a/module/common/lang/de.php b/module/common/lang/de.php index c436ddcd1a..586f6a7b8b 100644 --- a/module/common/lang/de.php +++ b/module/common/lang/de.php @@ -162,7 +162,7 @@ $lang->dividerMenu = ',qa,report,admin,'; /* Program set menu. */ $lang->program = new stdclass(); $lang->program->menu = new stdclass(); -$lang->program->menu->index = 'Home|program|index|'; +$lang->program->menu->index = 'Dashboard|program|index|'; $lang->program->menu->browse = array('link' => 'Program|program|browse|', 'alias' => 'create,edit,group,managepriv,manageview,managemembers'); $lang->project = new stdclass(); @@ -191,10 +191,11 @@ $lang->personnel->menu->whitelist = array('link' => "Whitelist|personnel|whitel /* Scrum menu. */ $lang->product = new stdclass(); $lang->product->menu = new stdclass(); -$lang->product->menu->home = 'Home|product|index|'; +$lang->product->menu->home = 'Dashboard|product|index|'; $lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit'); $lang->product->viewMenu = new stdclass(); +$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s'); if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->story = array('link' => "$lang->SRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->plan = array('link' => "Plan|productplan|browse|productID=%s", 'subModule' => 'productplan'); @@ -203,7 +204,6 @@ $lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s'; $lang->product->viewMenu->project = "Project|product|project|status=all&productID=%s"; $lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s"); $lang->product->viewMenu->doc = array('link' => 'Doc|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc'); -$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s'); $lang->product->viewMenu->dynamic = 'Dynamic|product|dynamic|productID=%s'; $lang->product->viewMenu->set = array('link' => 'Setting|product|view|productID=%s', 'subModule' => 'tree,branch', 'alias' => 'edit'); @@ -332,7 +332,7 @@ $lang->my->dividerMenu = ',myProject,team,'; $lang->todo = new stdclass(); $lang->todo->menu = $lang->my->menu; -$lang->product->dividerMenu = ',plan,project,dashboard,'; +$lang->product->dividerMenu = ',plan,project,dynamic,'; $lang->story = new stdclass(); diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 6da25aed3d..30d1c60a2c 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -162,7 +162,7 @@ $lang->dividerMenu = ',qa,report,admin,'; /* Program set menu. */ $lang->program = new stdclass(); $lang->program->menu = new stdclass(); -//$lang->program->menu->index = 'Home|program|index|'; +//$lang->program->menu->index = 'Dashboard|program|index|'; $lang->program->menu->browse = array('link' => 'Program|program|browse|'); $lang->project = new stdclass(); @@ -191,10 +191,11 @@ $lang->personnel->menu->whitelist = array('link' => "Whitelist|personnel|whitel /* Scrum menu. */ $lang->product = new stdclass(); $lang->product->menu = new stdclass(); -$lang->product->menu->home = 'Home|product|index|'; +$lang->product->menu->home = 'Dashboard|product|index|'; $lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit'); $lang->product->viewMenu = new stdclass(); +$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s'); if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->story = array('link' => "$lang->SRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->plan = array('link' => "Plan|productplan|browse|productID=%s", 'subModule' => 'productplan'); @@ -203,7 +204,6 @@ $lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s'; $lang->product->viewMenu->project = "Project|product|project|status=all&productID=%s"; $lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s"); $lang->product->viewMenu->doc = array('link' => 'Doc|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc'); -$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s'); $lang->product->viewMenu->dynamic = 'Dynamic|product|dynamic|productID=%s'; $lang->product->viewMenu->set = array('link' => 'Setting|product|view|productID=%s', 'subModule' => 'tree,branch', 'alias' => 'edit'); @@ -332,7 +332,7 @@ $lang->my->dividerMenu = ',myProject,team,'; $lang->todo = new stdclass(); $lang->todo->menu = $lang->my->menu; -$lang->product->dividerMenu = ',plan,project,dashboard,'; +$lang->product->dividerMenu = ',plan,project,dynamic,'; $lang->story = new stdclass(); diff --git a/module/common/lang/fr.php b/module/common/lang/fr.php index 815911f9dc..85a7431226 100644 --- a/module/common/lang/fr.php +++ b/module/common/lang/fr.php @@ -162,7 +162,7 @@ $lang->dividerMenu = ',qa,report,admin,'; /* Program set menu. */ $lang->program = new stdclass(); $lang->program->menu = new stdclass(); -$lang->program->menu->index = 'Home|program|index|'; +$lang->program->menu->index = 'Dashboard|program|index|'; $lang->program->menu->browse = array('link' => 'Program|program|browse|', 'alias' => 'create,edit,group,managepriv,manageview,managemembers'); $lang->project = new stdclass(); @@ -191,10 +191,11 @@ $lang->personnel->menu->whitelist = array('link' => "Whitelist|personnel|whitel /* Scrum menu. */ $lang->product = new stdclass(); $lang->product->menu = new stdclass(); -$lang->product->menu->home = 'Home|product|index|'; +$lang->product->menu->home = 'Dashboard|product|index|'; $lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit'); $lang->product->viewMenu = new stdclass(); +$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s'); if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->story = array('link' => "$lang->SRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->plan = array('link' => "Plan|productplan|browse|productID=%s", 'subModule' => 'productplan'); @@ -203,7 +204,6 @@ $lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s'; $lang->product->viewMenu->project = "Project|product|project|status=all&productID=%s"; $lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s"); $lang->product->viewMenu->doc = array('link' => 'Doc|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc'); -$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s'); $lang->product->viewMenu->dynamic = 'Dynamic|product|dynamic|productID=%s'; $lang->product->viewMenu->set = array('link' => 'Setting|product|view|productID=%s', 'subModule' => 'tree,branch', 'alias' => 'edit'); @@ -332,7 +332,7 @@ $lang->my->dividerMenu = ',myProject,team,'; $lang->todo = new stdclass(); $lang->todo->menu = $lang->my->menu; -$lang->product->dividerMenu = ',plan,project,dashboard,'; +$lang->product->dividerMenu = ',plan,project,dynamic,'; $lang->story = new stdclass(); diff --git a/module/common/lang/menuOrder.php b/module/common/lang/menuOrder.php index 7c0b13c82d..c91d39f787 100644 --- a/module/common/lang/menuOrder.php +++ b/module/common/lang/menuOrder.php @@ -60,6 +60,7 @@ $lang->my->menuOrder[55] = 'contacts'; $lang->todo->menuOrder = $lang->my->menuOrder; /* product menu order. */ +$lang->product->menuOrder[1] = 'dashboard'; $lang->product->menuOrder[5] = 'requirement'; $lang->product->menuOrder[10] = 'story'; $lang->product->menuOrder[15] = 'plan'; @@ -68,11 +69,10 @@ $lang->product->menuOrder[25] = 'roadmap'; $lang->product->menuOrder[30] = 'project'; $lang->product->menuOrder[35] = 'track'; $lang->product->menuOrder[40] = 'doc'; -$lang->product->menuOrder[45] = 'dashboard'; -$lang->product->menuOrder[50] = 'dynamic'; -$lang->product->menuOrder[55] = 'setting'; -$lang->product->menuOrder[60] = 'create'; -$lang->product->menuOrder[65] = 'all'; +$lang->product->menuOrder[45] = 'dynamic'; +$lang->product->menuOrder[50] = 'setting'; +$lang->product->menuOrder[55] = 'create'; +$lang->product->menuOrder[60] = 'all'; $lang->story->menuOrder = $lang->product->menuOrder; $lang->productplan->menuOrder = $lang->product->menuOrder; diff --git a/module/common/lang/vi.php b/module/common/lang/vi.php index 100f5738b6..4886cae96d 100644 --- a/module/common/lang/vi.php +++ b/module/common/lang/vi.php @@ -162,7 +162,7 @@ $lang->dividerMenu = ',qa,report,admin,'; /* Program set menu. */ $lang->program = new stdclass(); $lang->program->menu = new stdclass(); -$lang->program->menu->index = 'Home|program|index|'; +$lang->program->menu->index = 'Dashboard|program|index|'; $lang->program->menu->browse = array('link' => 'Program|program|browse|', 'alias' => 'create,edit,group,managepriv,manageview,managemembers'); $lang->project = new stdclass(); @@ -191,10 +191,11 @@ $lang->personnel->menu->whitelist = array('link' => "Whitelist|personnel|whitel /* Scrum menu. */ $lang->product = new stdclass(); $lang->product->menu = new stdclass(); -$lang->product->menu->home = 'Home|product|index|'; +$lang->product->menu->home = 'Dashboard|product|index|'; $lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit'); $lang->product->viewMenu = new stdclass(); +$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s'); if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->story = array('link' => "$lang->SRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->plan = array('link' => "Plan|productplan|browse|productID=%s", 'subModule' => 'productplan'); @@ -203,7 +204,6 @@ $lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s'; $lang->product->viewMenu->project = "Project|product|project|status=all&productID=%s"; $lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s"); $lang->product->viewMenu->doc = array('link' => 'Doc|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc'); -$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s'); $lang->product->viewMenu->dynamic = 'Dynamic|product|dynamic|productID=%s'; $lang->product->viewMenu->set = array('link' => 'Setting|product|view|productID=%s', 'subModule' => 'tree,branch', 'alias' => 'edit'); @@ -332,7 +332,7 @@ $lang->my->dividerMenu = ',myProject,team,'; $lang->todo = new stdclass(); $lang->todo->menu = $lang->my->menu; -$lang->product->dividerMenu = ',plan,project,dashboard,'; +$lang->product->dividerMenu = ',plan,project,dynamic,'; $lang->story = new stdclass(); diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 109b6b43bc..a3e179cf1f 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -162,7 +162,7 @@ $lang->dividerMenu = ',qa,report,admin,'; /* Program set menu. */ $lang->program = new stdclass(); $lang->program->menu = new stdclass(); -//$lang->program->menu->index = '主页|program|index|'; +//$lang->program->menu->index = '仪表盘|program|index|'; $lang->program->menu->browse = array('link' => '项目集|program|browse|'); $lang->project = new stdclass(); @@ -191,10 +191,11 @@ $lang->personnel->menu->whitelist = array('link' => "白名单|personnel|whitel /* Scrum menu. */ $lang->product = new stdclass(); $lang->product->menu = new stdclass(); -$lang->product->menu->home = '主页|product|index|'; +$lang->product->menu->home = '仪表盘|product|index|'; $lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit,manageline'); $lang->product->viewMenu = new stdclass(); +$lang->product->viewMenu->dashboard = array('link' => '仪表盘|product|dashboard|productID=%s'); if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->story = array('link' => "$lang->SRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->plan = array('link' => "计划|productplan|browse|productID=%s", 'subModule' => 'productplan'); @@ -203,7 +204,6 @@ $lang->product->viewMenu->roadmap = '路线图|product|roadmap|productID=%s' $lang->product->viewMenu->project = "项目|product|project|status=all&productID=%s"; $lang->product->viewMenu->track = array('link' => "矩阵|story|track|productID=%s"); $lang->product->viewMenu->doc = array('link' => '文档|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc'); -$lang->product->viewMenu->dashboard = array('link' => '仪表盘|product|dashboard|productID=%s'); $lang->product->viewMenu->dynamic = '动态|product|dynamic|productID=%s'; $lang->product->viewMenu->set = array('link' => '设置|product|view|productID=%s', 'subModule' => 'tree,branch', 'alias' => 'edit'); @@ -332,7 +332,7 @@ $lang->my->dividerMenu = ',myProject,team,'; $lang->todo = new stdclass(); $lang->todo->menu = $lang->my->menu; -$lang->product->dividerMenu = ',plan,project,dashboard,'; +$lang->product->dividerMenu = ',plan,project,dynamic,'; $lang->story = new stdclass(); diff --git a/module/common/lang/zh-tw.php b/module/common/lang/zh-tw.php index a529d7af8d..c9ef06753c 100644 --- a/module/common/lang/zh-tw.php +++ b/module/common/lang/zh-tw.php @@ -162,7 +162,7 @@ $lang->dividerMenu = ',qa,report,admin,'; /* Program set menu. */ $lang->program = new stdclass(); $lang->program->menu = new stdclass(); -//$lang->program->menu->index = '主頁|program|index|'; +//$lang->program->menu->index = '儀錶盤|program|index|'; $lang->program->menu->browse = array('link' => '項目集|program|browse|'); $lang->project = new stdclass(); @@ -191,10 +191,11 @@ $lang->personnel->menu->putinto = array('link' => "投入人員|personnel|put /* Scrum menu. */ $lang->product = new stdclass(); $lang->product->menu = new stdclass(); -$lang->product->menu->home = '主頁|product|index|'; +$lang->product->menu->home = '儀錶盤|product|index|'; $lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit,manageline'); $lang->product->viewMenu = new stdclass(); +$lang->product->viewMenu->dashboard = array('link' => '儀表盤|product|dashboard|productID=%s'); if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->story = array('link' => "$lang->SRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->plan = array('link' => "計劃|productplan|browse|productID=%s", 'subModule' => 'productplan'); @@ -203,7 +204,6 @@ $lang->product->viewMenu->roadmap = '路線圖|product|roadmap|productID=%s' $lang->product->viewMenu->project = "項目|product|project|status=all&productID=%s"; $lang->product->viewMenu->track = array('link' => "矩陣|story|track|productID=%s"); $lang->product->viewMenu->doc = array('link' => '文檔|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc'); -$lang->product->viewMenu->dashboard = array('link' => '儀表盤|product|dashboard|productID=%s'); $lang->product->viewMenu->dynamic = '動態|product|dynamic|productID=%s'; $lang->product->viewMenu->set = array('link' => '設置|product|view|productID=%s', 'subModule' => 'tree,branch', 'alias' => 'edit'); @@ -332,7 +332,7 @@ $lang->my->dividerMenu = ',myProject,team,'; $lang->todo = new stdclass(); $lang->todo->menu = $lang->my->menu; -$lang->product->dividerMenu = ',plan,project,dashboard,'; +$lang->product->dividerMenu = ',plan,project,dynamic,'; $lang->story = new stdclass(); From de3fe54048794c3a82f6f4b8426f24954285a942 Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Tue, 9 Mar 2021 09:58:08 +0800 Subject: [PATCH 05/15] * Finish task #36486. --- module/common/lang/de.php | 2 +- module/common/lang/en.php | 2 +- module/common/lang/fr.php | 2 +- module/common/lang/vi.php | 2 +- module/common/lang/zh-cn.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/module/common/lang/de.php b/module/common/lang/de.php index be070adb1a..6096408496 100644 --- a/module/common/lang/de.php +++ b/module/common/lang/de.php @@ -913,8 +913,8 @@ $lang->scrum->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeho $lang->scrum->setMenu = new stdclass(); $lang->scrum->setMenu->view = array('link' => 'View|project|view|project={PROJECT}'); $lang->scrum->setMenu->products = array('link' => 'Product|project|manageProducts|project={PROJECT}', 'alias' => 'manageproducts'); -$lang->scrum->setMenu->group = array('link' => 'Priv Group|project|group|project={PROJECT}', 'alias' => 'group,manageview,managepriv'); $lang->scrum->setMenu->members = array('link' => 'Member|project|manageMembers|project={PROJECT}', 'alias' => 'managemembers'); +$lang->scrum->setMenu->group = array('link' => 'Priv Group|project|group|project={PROJECT}', 'alias' => 'group,manageview,managepriv'); $lang->scrum->setMenu->whitelist = array('link' => 'White List|project|whitelist|project={PROJECT}', 'subModule' => 'personnel'); /* Waterfall menu. */ diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 468fe3ed3a..4d8ae166e2 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -912,8 +912,8 @@ $lang->scrum->subMenu->other->stakeholder = array('link' => '干系人|stakehold $lang->scrum->setMenu = new stdclass(); $lang->scrum->setMenu->view = array('link' => 'View|project|view|project={PROJECT}'); $lang->scrum->setMenu->products = array('link' => 'Product|project|manageProducts|project={PROJECT}', 'alias' => 'manageproducts'); -$lang->scrum->setMenu->group = array('link' => 'Priv Group|project|group|project={PROJECT}', 'alias' => 'group,manageview,managepriv'); $lang->scrum->setMenu->members = array('link' => 'Member|project|manageMembers|project={PROJECT}', 'alias' => 'managemembers'); +$lang->scrum->setMenu->group = array('link' => 'Priv Group|project|group|project={PROJECT}', 'alias' => 'group,manageview,managepriv'); $lang->scrum->setMenu->whitelist = array('link' => 'White List|project|whitelist|project={PROJECT}', 'subModule' => 'personnel'); /* Waterfall menu. */ diff --git a/module/common/lang/fr.php b/module/common/lang/fr.php index 31d8c8c37e..9ac8d2d3c2 100644 --- a/module/common/lang/fr.php +++ b/module/common/lang/fr.php @@ -912,8 +912,8 @@ $lang->scrum->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeho $lang->scrum->setMenu = new stdclass(); $lang->scrum->setMenu->view = array('link' => 'View|project|view|project={PROJECT}'); $lang->scrum->setMenu->products = array('link' => 'Product|project|manageProducts|project={PROJECT}', 'alias' => 'manageproducts'); -$lang->scrum->setMenu->group = array('link' => 'Priv Group|project|group|project={PROJECT}', 'alias' => 'group,manageview,managepriv'); $lang->scrum->setMenu->members = array('link' => 'Member|project|manageMembers|project={PROJECT}', 'alias' => 'managemembers'); +$lang->scrum->setMenu->group = array('link' => 'Priv Group|project|group|project={PROJECT}', 'alias' => 'group,manageview,managepriv'); $lang->scrum->setMenu->whitelist = array('link' => 'White List|project|whitelist|project={PROJECT}', 'subModule' => 'personnel'); /* Waterfall menu. */ diff --git a/module/common/lang/vi.php b/module/common/lang/vi.php index e990ab10e6..f70461c597 100644 --- a/module/common/lang/vi.php +++ b/module/common/lang/vi.php @@ -912,8 +912,8 @@ $lang->scrum->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeho $lang->scrum->setMenu = new stdclass(); $lang->scrum->setMenu->view = array('link' => 'View|project|view|project={PROJECT}'); $lang->scrum->setMenu->products = array('link' => 'Product|project|manageProducts|project={PROJECT}', 'alias' => 'manageproducts'); -$lang->scrum->setMenu->group = array('link' => 'Priv Group|project|group|project={PROJECT}', 'alias' => 'group,manageview,managepriv'); $lang->scrum->setMenu->members = array('link' => 'Member|project|manageMembers|project={PROJECT}', 'alias' => 'managemembers'); +$lang->scrum->setMenu->group = array('link' => 'Priv Group|project|group|project={PROJECT}', 'alias' => 'group,manageview,managepriv'); $lang->scrum->setMenu->whitelist = array('link' => 'White List|project|whitelist|project={PROJECT}', 'subModule' => 'personnel'); /* Waterfall menu. */ diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 10ff3db517..a1b98dba9d 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -912,8 +912,8 @@ $lang->scrum->subMenu->other->stakeholder = array('link' => '干系人|stakehold $lang->scrum->setMenu = new stdclass(); $lang->scrum->setMenu->view = array('link' => '概况|project|view|project={PROJECT}', 'alias' => 'edit'); $lang->scrum->setMenu->products = array('link' => '产品|project|manageProducts|project={PROJECT}', 'alias' => 'manageproducts'); -$lang->scrum->setMenu->group = array('link' => '权限|project|group|project={PROJECT}', 'alias' => 'group,manageview,managepriv'); $lang->scrum->setMenu->members = array('link' => '团队|project|manageMembers|project={PROJECT}', 'alias' => 'managemembers'); +$lang->scrum->setMenu->group = array('link' => '权限|project|group|project={PROJECT}', 'alias' => 'group,manageview,managepriv'); $lang->scrum->setMenu->whitelist = array('link' => '白名单|project|whitelist|project={PROJECT}', 'subModule' => 'personnel'); /* Waterfall menu. */ From 0f1492cad9b4cc0fe55735ea2da32d2b1c954016 Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Tue, 9 Mar 2021 10:05:15 +0800 Subject: [PATCH 06/15] * Fix bug and execution menu. --- framework/base/helper.class.php | 8 +-- module/action/lang/de.php | 2 +- module/action/lang/en.php | 2 +- module/action/lang/fr.php | 2 +- module/action/lang/vi.php | 2 +- module/action/lang/zh-cn.php | 2 +- module/action/lang/zh-tw.php | 2 +- module/action/model.php | 43 ++++++++---- module/block/lang/de.php | 8 +-- module/block/lang/en.php | 8 +-- module/block/lang/fr.php | 8 +-- module/block/lang/vi.php | 8 +-- module/block/lang/zh-cn.php | 8 +-- module/block/lang/zh-tw.php | 8 +-- module/common/lang/de.php | 76 +++++++++------------ module/common/lang/en.php | 76 +++++++++------------ module/common/lang/fr.php | 76 +++++++++------------ module/common/lang/menuOrder.php | 29 ++++---- module/common/lang/vi.php | 76 +++++++++------------ module/common/lang/zh-cn.php | 76 +++++++++------------ module/common/lang/zh-tw.php | 4 +- module/common/model.php | 5 ++ module/doc/model.php | 2 +- module/execution/control.php | 46 ++++++------- module/execution/lang/de.php | 2 +- module/execution/lang/en.php | 4 +- module/execution/lang/fr.php | 2 +- module/execution/lang/vi.php | 2 +- module/execution/lang/zh-cn.php | 4 +- module/execution/model.php | 72 +++++++++++-------- module/execution/view/edit.html.php | 2 +- module/execution/view/view.html.php | 2 +- module/my/lang/de.php | 4 +- module/my/lang/en.php | 4 +- module/my/lang/fr.php | 4 +- module/my/lang/vi.php | 4 +- module/my/lang/zh-cn.php | 4 +- module/my/lang/zh-tw.php | 4 +- module/personnel/view/addwhitelist.html.php | 4 +- module/report/view/bugcreate.html.php | 2 +- module/search/lang/de.php | 4 +- module/search/lang/en.php | 4 +- module/search/lang/fr.php | 4 +- module/search/lang/vi.php | 4 +- module/search/lang/zh-cn.php | 4 +- module/search/lang/zh-tw.php | 2 +- module/testtask/model.php | 2 +- 47 files changed, 356 insertions(+), 365 deletions(-) diff --git a/framework/base/helper.class.php b/framework/base/helper.class.php index 54c7cc99ce..91789aeb3d 100644 --- a/framework/base/helper.class.php +++ b/framework/base/helper.class.php @@ -56,8 +56,8 @@ class baseHelper * @param string|array $vars the params passed to the method, can be array('key' => 'value') or key1=value1&key2=value2) or key1=value1&key2=value2 * @param string $viewType the view type * @param bool $onlyBody pass onlyBody=yes to the link thus the app can control the header and footer hide or show.. - * @param bool $projectID set project id in to session. - * @param bool $removeProject if true, remove project param. + * @param bool $projectID set project id in to session. + * @param bool $removeProject if true, remove project param. * @static * @access public * @return string the link string. @@ -173,8 +173,8 @@ class baseHelper global $config, $lang; if(!$projectID || $removeProject) return $link; - $isProject = (zget($lang->navGroup, $moduleName) == 'project'); - if(!$isProject and $moduleName != 'program') return $link; + $app = zget($lang->navGroup, $moduleName); + if($app != 'project' and $app != 'execution') return $link; $link .= strpos($link, '?') === false ? "?project=$projectID" : "&project=$projectID"; return $link; diff --git a/module/action/lang/de.php b/module/action/lang/de.php index c5a4350de7..e5ba08019c 100644 --- a/module/action/lang/de.php +++ b/module/action/lang/de.php @@ -73,7 +73,7 @@ $lang->action->objectTypes['productplan'] = 'Plan'; $lang->action->objectTypes['release'] = 'Release'; $lang->action->objectTypes['program'] = 'Program'; $lang->action->objectTypes['project'] = 'Project'; -$lang->action->objectTypes['execution'] = $lang->execution->common; +$lang->action->objectTypes['execution'] = $lang->executionCommon; $lang->action->objectTypes['task'] = 'Aufgabe'; $lang->action->objectTypes['build'] = 'Build'; $lang->action->objectTypes['job'] = 'Job'; diff --git a/module/action/lang/en.php b/module/action/lang/en.php index 9af8cf33f7..eed297bd88 100755 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -73,7 +73,7 @@ $lang->action->objectTypes['productplan'] = 'Plan'; $lang->action->objectTypes['release'] = 'Release'; $lang->action->objectTypes['program'] = 'Program'; $lang->action->objectTypes['project'] = 'Project'; -$lang->action->objectTypes['execution'] = $lang->execution->common; +$lang->action->objectTypes['execution'] = $lang->executionCommon; $lang->action->objectTypes['task'] = 'Task'; $lang->action->objectTypes['build'] = 'Build'; $lang->action->objectTypes['job'] = 'Job'; diff --git a/module/action/lang/fr.php b/module/action/lang/fr.php index e1264ce2e7..199b0e4c6c 100644 --- a/module/action/lang/fr.php +++ b/module/action/lang/fr.php @@ -73,7 +73,7 @@ $lang->action->objectTypes['productplan'] = 'Plan'; $lang->action->objectTypes['release'] = 'Release'; $lang->action->objectTypes['program'] = 'Program'; $lang->action->objectTypes['project'] = 'Project'; -$lang->action->objectTypes['execution'] = $lang->execution->common; +$lang->action->objectTypes['execution'] = $lang->executionCommon; $lang->action->objectTypes['task'] = 'Tâche'; $lang->action->objectTypes['build'] = 'Build'; $lang->action->objectTypes['job'] = 'Job'; diff --git a/module/action/lang/vi.php b/module/action/lang/vi.php index c96dab88a2..8f778e7d53 100644 --- a/module/action/lang/vi.php +++ b/module/action/lang/vi.php @@ -73,7 +73,7 @@ $lang->action->objectTypes['productplan'] = 'Plan'; $lang->action->objectTypes['release'] = 'Phát hành'; $lang->action->objectTypes['program'] = 'Program'; $lang->action->objectTypes['project'] = 'Project'; -$lang->action->objectTypes['execution'] = $lang->execution->common; +$lang->action->objectTypes['execution'] = $lang->executionCommon; $lang->action->objectTypes['task'] = 'Nhiệm vụ'; $lang->action->objectTypes['build'] = 'Bản dựng'; $lang->action->objectTypes['job'] = 'Job'; diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index c7795c0345..87efe2916a 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -73,7 +73,7 @@ $lang->action->objectTypes['productplan'] = '计划'; $lang->action->objectTypes['release'] = '发布'; $lang->action->objectTypes['program'] = '项目集'; $lang->action->objectTypes['project'] = '项目'; -$lang->action->objectTypes['execution'] = $lang->execution->common; +$lang->action->objectTypes['execution'] = $lang->executionCommon; $lang->action->objectTypes['task'] = '任务'; $lang->action->objectTypes['build'] = '版本'; $lang->action->objectTypes['job'] = '构建'; diff --git a/module/action/lang/zh-tw.php b/module/action/lang/zh-tw.php index 6e85d5176d..7cbd800655 100755 --- a/module/action/lang/zh-tw.php +++ b/module/action/lang/zh-tw.php @@ -73,7 +73,7 @@ $lang->action->objectTypes['productplan'] = '計劃'; $lang->action->objectTypes['release'] = '發佈'; $lang->action->objectTypes['program'] = '項目集'; $lang->action->objectTypes['project'] = '項目'; -$lang->action->objectTypes['execution'] = $lang->execution->common; +$lang->action->objectTypes['execution'] = $lang->executionCommon; $lang->action->objectTypes['task'] = '任務'; $lang->action->objectTypes['build'] = '版本'; $lang->action->objectTypes['job'] = '構建'; diff --git a/module/action/model.php b/module/action/model.php index a29e62af1c..b5d66c8a55 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -401,7 +401,7 @@ class actionModel extends model if($linkedProducts) { foreach($linkedProducts as $productID => $productName) $linkedProducts[$productID] = html::a(helper::createLink('product', 'browse', "productID=$productID"), "#{$productID} {$productName}"); - $action->extra = sprintf($this->lang->project->action->extra, '' . join(', ', $linkedProducts) . ''); + $action->extra = sprintf($this->lang->execution->action->extra, '' . join(', ', $linkedProducts) . ''); } } $action->history = isset($histories[$actionID]) ? $histories[$actionID] : array(); @@ -645,7 +645,7 @@ class actionModel extends model * @access public * @return array */ - public function getDynamic($account = 'all', $period = 'all', $orderBy = 'date_desc', $pager = null, $productID = 'all', $executionID = 'all', $date = '', $direction = 'next') + public function getDynamic($account = 'all', $period = 'all', $orderBy = 'date_desc', $pager = null, $productID = 'all', $projectID = 'all', $date = '', $direction = 'next') { /* Computer the begin and end date of a period. */ $beginAndEnd = $this->computeBeginAndEnd($period); @@ -653,20 +653,33 @@ class actionModel extends model /* Build has priv condition. */ $condition = 1; - if($productID == 'all') $products = $this->app->user->view->products; - if($executionID == 'all') $executions = $this->app->user->view->sprints; + if($productID == 'all') $products = $this->app->user->view->products; + if($projectID == 'all') $projects = $this->app->user->view->projects; if($productID == 'all' or $executionID == 'all') { - $executionCondition = $executionID == 'all' ? "execution " . helper::dbIN($executions) : ''; - $productCondition = $productID == 'all' ? "INSTR('," . $products . ",', product) > 0" : ''; - if(is_numeric($productID)) $productCondition = "product like'%,$productID,%' or product='$productID'"; - if(is_numeric($executionID)) $executionCondition = "execution='$executionID'"; + $projectCondition = $projectID == 'all' ? "project " . helper::dbIN($projects) : ''; + $productCondition = $productID == 'all' ? "INSTR('," . $products . ",', product) > 0" : ''; + if(is_numeric($productID)) $productCondition = "product like'%,$productID,%' or product='$productID'"; + if(is_numeric($projectID)) $projectCondition = "project='$projectID'"; - $condition = "(product =',0,' AND execution = '0')"; - if($executionCondition) $condition .= ' OR ' . $executionCondition; - if($productCondition) $condition .= ' OR ' . $productCondition; - if($this->app->user->admin) $condition = 1; + $condition = "(product =',0,' AND project = '0')"; + if($projectCondition) $condition .= ' OR ' . $projectCondition; + if($productCondition) $condition .= ' OR ' . $productCondition; + if($this->app->user->admin) $condition = 1; + } + + /* If is project, select its related. */ + $executions = array(); + $products = array(); + if(is_numeric($projectID)) + { + $project = $this->loadModel('project')->getByID($projectID); + if(isset($project->type) and $project->type == 'project') + { + $executions = $this->loadModel('execution')->getPairs($projectID); + $products = $this->loadModel('product')->getProductPairsByProject($projectID); + } } $this->loadModel('doc'); @@ -683,12 +696,12 @@ class actionModel extends model ->beginIF($date)->andWhere('date' . ($direction == 'next' ? '<' : '>') . "'{$date}'")->fi() ->beginIF($account != 'all')->andWhere('actor')->eq($account)->fi() ->beginIF(is_numeric($productID))->andWhere('product')->like("%,$productID,%")->fi() - ->beginIF(is_numeric($executionID))->andWhere('execution')->eq($executionID)->fi() + ->beginIF(is_numeric($projectID))->andWhere('execution')->eq($projectID)->fi() ->beginIF(!empty($executions))->markLeft()->orWhere('execution')->in($executions)->fi()->markRight() ->beginIF(!empty($products))->markLeft()->orWhere('product')->in($products)->fi()->markRight() ->beginIF($productID == 'notzero')->andWhere('product')->gt(0)->andWhere('product')->notlike('%,0,%')->fi() - ->beginIF($executionID == 'notzero')->andWhere('execution')->gt(0)->fi() - ->beginIF($executionID == 'all' or $productID == 'all')->andWhere("IF((objectType!= 'doc' && objectType!= 'doclib'), ($condition), '1=1')")->fi() + ->beginIF($projectID == 'notzero')->andWhere('execution')->gt(0)->fi() + ->beginIF($projectID == 'all' or $productID == 'all')->andWhere("IF((objectType!= 'doc' && objectType!= 'doclib'), ($condition), '1=1')")->fi() ->beginIF($docs and !$this->app->user->admin)->andWhere("IF(objectType != 'doc', '1=1', objectID " . helper::dbIN($docs) . ")")->fi() ->beginIF($libs and !$this->app->user->admin)->andWhere("IF(objectType != 'doclib', '1=1', objectID " . helper::dbIN(array_keys($libs)) . ') ')->fi() ->beginIF($actionCondition)->andWhere("($actionCondition)")->fi() diff --git a/module/block/lang/de.php b/module/block/lang/de.php index 4e32b776af..63f2afed6a 100644 --- a/module/block/lang/de.php +++ b/module/block/lang/de.php @@ -337,7 +337,7 @@ $lang->block->availableBlocks->issue = 'My Issues'; $lang->block->moduleList['program'] = 'Project'; $lang->block->moduleList['product'] = $lang->productCommon; -$lang->block->moduleList['project'] = $lang->execution->common; +$lang->block->moduleList['project'] = $lang->executionCommon; $lang->block->moduleList['qa'] = 'QA'; $lang->block->moduleList['todo'] = 'Todos'; @@ -377,9 +377,9 @@ $lang->block->modules['product']->availableBlocks->release = 'Release'; $lang->block->modules['project'] = new stdclass(); $lang->block->modules['project']->availableBlocks = new stdclass(); -$lang->block->modules['project']->availableBlocks->statistic = $lang->execution->common . ' Statistik'; -$lang->block->modules['project']->availableBlocks->overview = $lang->execution->common . ' Übersicht'; -$lang->block->modules['project']->availableBlocks->list = $lang->execution->common . ' Liste'; +$lang->block->modules['project']->availableBlocks->statistic = $lang->executionCommon . ' Statistik'; +$lang->block->modules['project']->availableBlocks->overview = $lang->executionCommon . ' Übersicht'; +$lang->block->modules['project']->availableBlocks->list = $lang->executionCommon . ' Liste'; $lang->block->modules['project']->availableBlocks->task = 'Aufgaben'; $lang->block->modules['project']->availableBlocks->build = 'Build'; diff --git a/module/block/lang/en.php b/module/block/lang/en.php index 6c45609d25..72b4633327 100644 --- a/module/block/lang/en.php +++ b/module/block/lang/en.php @@ -337,7 +337,7 @@ $lang->block->availableBlocks->issue = 'My Issues'; $lang->block->moduleList['program'] = 'Project'; $lang->block->moduleList['product'] = $lang->productCommon; -$lang->block->moduleList['project'] = $lang->execution->common; +$lang->block->moduleList['project'] = $lang->executionCommon; $lang->block->moduleList['qa'] = 'Test'; $lang->block->moduleList['todo'] = 'Todo'; @@ -377,9 +377,9 @@ $lang->block->modules['product']->availableBlocks->release = 'Release'; $lang->block->modules['project'] = new stdclass(); $lang->block->modules['project']->availableBlocks = new stdclass(); -$lang->block->modules['project']->availableBlocks->statistic = $lang->execution->common . ' Statistics'; -$lang->block->modules['project']->availableBlocks->overview = $lang->execution->common . ' Overview'; -$lang->block->modules['project']->availableBlocks->list = $lang->execution->common . ' List'; +$lang->block->modules['project']->availableBlocks->statistic = $lang->executionCommon . ' Statistics'; +$lang->block->modules['project']->availableBlocks->overview = $lang->executionCommon . ' Overview'; +$lang->block->modules['project']->availableBlocks->list = $lang->executionCommon . ' List'; $lang->block->modules['project']->availableBlocks->task = 'Task'; $lang->block->modules['project']->availableBlocks->build = 'Build'; diff --git a/module/block/lang/fr.php b/module/block/lang/fr.php index 6ba7eca214..745c048157 100644 --- a/module/block/lang/fr.php +++ b/module/block/lang/fr.php @@ -337,7 +337,7 @@ $lang->block->availableBlocks->issue = 'My Issues'; $lang->block->moduleList['program'] = 'Project'; $lang->block->moduleList['product'] = $lang->productCommon; -$lang->block->moduleList['project'] = $lang->execution->common; +$lang->block->moduleList['project'] = $lang->executionCommon; $lang->block->moduleList['qa'] = 'Test'; $lang->block->moduleList['todo'] = 'Todo'; @@ -377,9 +377,9 @@ $lang->block->modules['product']->availableBlocks->release = 'Release'; $lang->block->modules['project'] = new stdclass(); $lang->block->modules['project']->availableBlocks = new stdclass(); -$lang->block->modules['project']->availableBlocks->statistic = $lang->execution->common . ' Statistiques'; -$lang->block->modules['project']->availableBlocks->overview = $lang->execution->common . " Vue d'ensemble"; -$lang->block->modules['project']->availableBlocks->list = $lang->execution->common . ' Liste'; +$lang->block->modules['project']->availableBlocks->statistic = $lang->executionCommon . ' Statistiques'; +$lang->block->modules['project']->availableBlocks->overview = $lang->executionCommon . " Vue d'ensemble"; +$lang->block->modules['project']->availableBlocks->list = $lang->executionCommon . ' Liste'; $lang->block->modules['project']->availableBlocks->task = 'Tâches'; $lang->block->modules['project']->availableBlocks->build = 'Build'; diff --git a/module/block/lang/vi.php b/module/block/lang/vi.php index 34986a564d..2b5396754d 100644 --- a/module/block/lang/vi.php +++ b/module/block/lang/vi.php @@ -337,7 +337,7 @@ $lang->block->availableBlocks->issue = 'My Issues'; $lang->block->moduleList['program'] = 'Project'; $lang->block->moduleList['product'] = $lang->productCommon; -$lang->block->moduleList['project'] = $lang->execution->common; +$lang->block->moduleList['project'] = $lang->executionCommon; $lang->block->moduleList['qa'] = 'QA'; $lang->block->moduleList['todo'] = 'Việc làm'; @@ -377,9 +377,9 @@ $lang->block->modules['product']->availableBlocks->release = 'Phát hành'; $lang->block->modules['project'] = new stdclass(); $lang->block->modules['project']->availableBlocks = new stdclass(); -$lang->block->modules['project']->availableBlocks->statistic = $lang->execution->common . ' thống'; -$lang->block->modules['project']->availableBlocks->overview = $lang->execution->common . ' xem'; -$lang->block->modules['project']->availableBlocks->list = $lang->execution->common . ' danh sách'; +$lang->block->modules['project']->availableBlocks->statistic = $lang->executionCommon . ' thống'; +$lang->block->modules['project']->availableBlocks->overview = $lang->executionCommon . ' xem'; +$lang->block->modules['project']->availableBlocks->list = $lang->executionCommon . ' danh sách'; $lang->block->modules['project']->availableBlocks->task = 'Nhiệm vụ'; $lang->block->modules['project']->availableBlocks->build = 'Bản dựng'; diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php index d07c6a3c22..15350a6230 100644 --- a/module/block/lang/zh-cn.php +++ b/module/block/lang/zh-cn.php @@ -337,7 +337,7 @@ $lang->block->availableBlocks->issue = '我的问题'; $lang->block->moduleList['program'] = '项目'; $lang->block->moduleList['product'] = $lang->productCommon; -$lang->block->moduleList['project'] = $lang->execution->common; +$lang->block->moduleList['project'] = $lang->executionCommon; $lang->block->moduleList['qa'] = '测试'; $lang->block->moduleList['todo'] = '待办'; @@ -377,9 +377,9 @@ $lang->block->modules['product']->availableBlocks->release = '发布列表'; $lang->block->modules['project'] = new stdclass(); $lang->block->modules['project']->availableBlocks = new stdclass(); -$lang->block->modules['project']->availableBlocks->statistic = $lang->execution->common . '统计'; -$lang->block->modules['project']->availableBlocks->overview = $lang->execution->common . '总览'; -$lang->block->modules['project']->availableBlocks->list = $lang->execution->common . '列表'; +$lang->block->modules['project']->availableBlocks->statistic = $lang->executionCommon . '统计'; +$lang->block->modules['project']->availableBlocks->overview = $lang->executionCommon . '总览'; +$lang->block->modules['project']->availableBlocks->list = $lang->executionCommon . '列表'; $lang->block->modules['project']->availableBlocks->task = '任务列表'; $lang->block->modules['project']->availableBlocks->build = '版本列表'; diff --git a/module/block/lang/zh-tw.php b/module/block/lang/zh-tw.php index c0543e1f8e..22d09fd3f1 100644 --- a/module/block/lang/zh-tw.php +++ b/module/block/lang/zh-tw.php @@ -337,7 +337,7 @@ $lang->block->availableBlocks->issue = '我的問題'; $lang->block->moduleList['program'] = '項目'; $lang->block->moduleList['product'] = $lang->productCommon; -$lang->block->moduleList['project'] = $lang->execution->common; +$lang->block->moduleList['project'] = $lang->executionCommon; $lang->block->moduleList['qa'] = '測試'; $lang->block->moduleList['todo'] = '待辦'; @@ -377,9 +377,9 @@ $lang->block->modules['product']->availableBlocks->release = '發佈列表'; $lang->block->modules['project'] = new stdclass(); $lang->block->modules['project']->availableBlocks = new stdclass(); -$lang->block->modules['project']->availableBlocks->statistic = $lang->execution->common . '統計'; -$lang->block->modules['project']->availableBlocks->overview = $lang->execution->common . '總覽'; -$lang->block->modules['project']->availableBlocks->list = $lang->execution->common . '列表'; +$lang->block->modules['project']->availableBlocks->statistic = $lang->executionCommon . '統計'; +$lang->block->modules['project']->availableBlocks->overview = $lang->executionCommon . '總覽'; +$lang->block->modules['project']->availableBlocks->list = $lang->executionCommon . '列表'; $lang->block->modules['project']->availableBlocks->task = '任務列表'; $lang->block->modules['project']->availableBlocks->build = '版本列表'; diff --git a/module/common/lang/de.php b/module/common/lang/de.php index 7a0b95dc10..03fb792584 100644 --- a/module/common/lang/de.php +++ b/module/common/lang/de.php @@ -116,11 +116,6 @@ $lang->workingHour = 'Stunde'; $lang->sprintCommon = $lang->iterationCommon . '/Phase'; -$lang->execution = new stdclass(); -$lang->execution->common = 'Execution'; -$lang->execution->sprint = 'Iteration'; -$lang->execution->stage = 'Phase'; - $lang->idAB = 'ID'; $lang->priAB = 'P'; $lang->statusAB = 'Status'; @@ -252,7 +247,7 @@ $lang->searchObjects['caselib'] = 'Case Library'; $lang->searchObjects['testreport'] = 'Test-Bericht'; $lang->searchObjects['program'] = 'Program'; $lang->searchObjects['project'] = 'Project'; -$lang->searchObjects['execution'] = $lang->execution->common; +$lang->searchObjects['execution'] = $lang->executionCommon; $lang->searchObjects['user'] = 'User'; $lang->searchTips = 'ID (strg+g)'; @@ -339,43 +334,43 @@ $lang->story = new stdclass(); $lang->story->menu = $lang->product->menu; /* Project menu settings. */ -$lang->project = new stdclass(); -$lang->project->menu = new stdclass(); +$lang->execution = new stdclass(); +$lang->execution->menu = new stdclass(); -$lang->project->menu->task = array('link' => 'Aufgabenliste|project|task|projectID=%s', 'subModule' => 'task,grouptask,tree', 'alias' => 'grouptask,importtask,importbug,tree', 'class' => 'dropdown dropdown-hover'); -$lang->project->menu->kanban = array('link' => 'Kanban|project|kanban|projectID=%s'); -$lang->project->menu->burn = array('link' => 'Burn|project|burn|projectID=%s'); -$lang->project->menu->view = array('link' => 'View|project|grouptask|projectID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover'); -$lang->project->menu->story = array('link' => 'Story|project|story|projectID=%s', 'subModule' => 'story', 'alias' => 'linkstory,storykanban'); -$lang->project->menu->bug = array('link' => 'Bug|project|bug|projectID=%s'); -$lang->project->menu->build = array('link' => 'Build|project|build|projectID=%s', 'subModule' => 'build'); -$lang->project->menu->testtask = array('link' => 'Test Aufgabe|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask'); -$lang->project->menu->doc = array('link' => 'Dok|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc'); -$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s'; -$lang->project->menu->team = array('link' => 'Team|project|team|projectID=%s', 'alias' => 'managemembers'); -$lang->project->menu->more = array('link' => 'More|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover'); +$lang->execution->menu->task = array('link' => 'Aufgabenliste|execution|task|executionID=%s', 'subModule' => 'task,grouptask,tree', 'alias' => 'grouptask,importtask,importbug,tree', 'class' => 'dropdown dropdown-hover'); +$lang->execution->menu->kanban = array('link' => 'Kanban|execution|kanban|executionID=%s'); +$lang->execution->menu->burn = array('link' => 'Burn|execution|burn|executionID=%s'); +$lang->execution->menu->view = array('link' => 'View|execution|grouptask|executionID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover'); +$lang->execution->menu->story = array('link' => 'Story|execution|story|executionID=%s', 'subModule' => 'story', 'alias' => 'linkstory,storykanban'); +$lang->execution->menu->bug = array('link' => 'Bug|execution|bug|executionID=%s'); +$lang->execution->menu->build = array('link' => 'Build|execution|build|executionID=%s', 'subModule' => 'build'); +$lang->execution->menu->testtask = array('link' => 'Test Aufgabe|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask'); +$lang->execution->menu->doc = array('link' => 'Dok|doc|objectLibs|type=execution&objectID=%s&from=execution', 'subModule' => 'doc'); +$lang->execution->menu->product = $lang->productCommon . '|execution|manageproducts|executionID=%s'; +$lang->execution->menu->team = array('link' => 'Team|execution|team|executionID=%s', 'alias' => 'managemembers'); +$lang->execution->menu->more = array('link' => 'More|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover'); -$lang->project->subMenu = new stdclass(); -$lang->project->subMenu->view = new stdclass(); -$lang->project->subMenu->view->groupTask = 'Gruppenansicht|project|grouptask|projectID=%s'; -$lang->project->subMenu->view->tree = 'Baumansicht|project|tree|projectID=%s'; +$lang->execution->subMenu = new stdclass(); +$lang->execution->subMenu->view = new stdclass(); +$lang->execution->subMenu->view->groupTask = 'Gruppenansicht|execution|grouptask|executionID=%s'; +$lang->execution->subMenu->view->tree = 'Baumansicht|execution|tree|executionID=%s'; -$lang->project->subMenu->qa = new stdclass(); -$lang->project->subMenu->qa->bug = 'Bug|project|bug|projectID=%s'; -$lang->project->subMenu->qa->build = array('link' => 'Build|project|build|projectID=%s', 'subModule' => 'build'); -$lang->project->subMenu->qa->testtask = array('link' => 'Test Aufgabe|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask'); +$lang->execution->subMenu->qa = new stdclass(); +$lang->execution->subMenu->qa->bug = 'Bug|execution|bug|executionID=%s'; +$lang->execution->subMenu->qa->build = array('link' => 'Build|execution|build|executionID=%s', 'subModule' => 'build'); +$lang->execution->subMenu->qa->testtask = array('link' => 'Test Aufgabe|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask'); -$lang->project->subMenu->more = new stdclass(); -$lang->project->subMenu->more->whitelist = array('link' => 'Whitelist|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist'); -$lang->project->subMenu->more->action = array('link' => 'Verlauf|project|dynamic|projectID=%s'); -$lang->project->subMenu->more->view = array('link' => 'Übersicht|project|view|projectID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close'); +$lang->execution->subMenu->more = new stdclass(); +$lang->execution->subMenu->more->whitelist = array('link' => 'Whitelist|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist'); +$lang->execution->subMenu->more->action = array('link' => 'Verlauf|execution|dynamic|executionID=%s'); +$lang->execution->subMenu->more->view = array('link' => 'Übersicht|execution|view|executionID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close'); -$lang->project->dividerMenu = ',project,programplan,projectbuild,story,doc,other,'; +$lang->execution->dividerMenu = ',execution,programplan,executionbuild,story,doc,other,'; $lang->task = new stdclass(); $lang->build = new stdclass(); -$lang->task->menu = $lang->project->menu; -$lang->build->menu = $lang->project->menu; +$lang->task->menu = $lang->execution->menu; +$lang->build->menu = $lang->execution->menu; /* QA视图菜单设置。*/ $lang->qa = new stdclass(); @@ -637,7 +632,6 @@ $lang->navGroup->story = 'product'; $lang->navGroup->tree = 'product'; $lang->navGroup->project = 'project'; -$lang->navGroup->task = 'project'; $lang->navGroup->qa = 'project'; $lang->navGroup->bug = 'project'; $lang->navGroup->doc = 'project'; @@ -668,6 +662,9 @@ $lang->navGroup->compile = 'project'; $lang->navGroup->report = 'project'; $lang->navGroup->measrecord = 'project'; +$lang->navGroup->execution = 'execution'; +$lang->navGroup->task = 'project'; + $lang->navGroup->sqlbuilder = 'system'; $lang->navGroup->auditcl = 'system'; $lang->navGroup->cmcl = 'system'; @@ -970,11 +967,6 @@ $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder| $lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|'); $lang->nc->menu = $lang->auditplan->menu; -$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); -if($config->systemMode == 'classic') -{ - $lang->noMenuModule[] = 'project'; - $lang->noMenuModule[] = 'task'; -} +$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'execution', 'task', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); include (dirname(__FILE__) . '/menuOrder.php'); diff --git a/module/common/lang/en.php b/module/common/lang/en.php index ea17b1bcf1..a48e81b4e0 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -116,11 +116,6 @@ $lang->workingHour = 'Hours'; $lang->sprintCommon = $lang->iterationCommon . '/Phase'; -$lang->execution = new stdclass(); -$lang->execution->common = 'Execution'; -$lang->execution->sprint = 'Iteration'; -$lang->execution->stage = 'Phase'; - $lang->idAB = 'ID'; $lang->priAB = 'P'; $lang->statusAB = 'Status'; @@ -252,7 +247,7 @@ $lang->searchObjects['caselib'] = 'Case Library'; $lang->searchObjects['testreport'] = 'Test Report'; $lang->searchObjects['program'] = 'Program'; $lang->searchObjects['project'] = 'Project'; -$lang->searchObjects['execution'] = $lang->execution->common; +$lang->searchObjects['execution'] = $lang->executionCommon; $lang->searchObjects['user'] = 'User'; $lang->searchTips = 'ID (ctrl+g)'; @@ -339,43 +334,43 @@ $lang->story = new stdclass(); $lang->story->menu = $lang->product->menu; /* Project menu settings. */ -$lang->project = new stdclass(); -$lang->project->menu = new stdclass(); +$lang->execution = new stdclass(); +$lang->execution->menu = new stdclass(); -$lang->project->menu->task = array('link' => 'Task|project|task|projectID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug'); -$lang->project->menu->kanban = array('link' => 'Kanban|project|kanban|projectID=%s'); -$lang->project->menu->burn = array('link' => 'Burndown|project|burn|projectID=%s'); -$lang->project->menu->view = array('link' => 'View|project|grouptask|projectID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover'); -$lang->project->menu->story = array('link' => 'Story|project|story|projectID=%s', 'subModule' => 'story', 'alias' => 'linkstory,storykanban'); -$lang->project->menu->bug = array('link' => 'Bug|project|bug|projectID=%s'); -$lang->project->menu->build = array('link' => 'Build|project|build|projectID=%s', 'subModule' => 'build'); -$lang->project->menu->testtask = array('link' => 'Request|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask'); -$lang->project->menu->doc = array('link' => 'Doc|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc'); -$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s'; -$lang->project->menu->team = array('link' => 'Team|project|team|projectID=%s', 'alias' => 'managemembers'); -$lang->project->menu->more = array('link' => 'More|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover'); +$lang->execution->menu->task = array('link' => 'Task|execution|task|executionID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug'); +$lang->execution->menu->kanban = array('link' => 'Kanban|execution|kanban|executionID=%s'); +$lang->execution->menu->burn = array('link' => 'Burndown|execution|burn|executionID=%s'); +$lang->execution->menu->view = array('link' => 'View|execution|grouptask|executionID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover'); +$lang->execution->menu->story = array('link' => 'Story|execution|story|executionID=%s', 'subModule' => 'story', 'alias' => 'linkstory,storykanban'); +$lang->execution->menu->bug = array('link' => 'Bug|execution|bug|executionID=%s'); +$lang->execution->menu->build = array('link' => 'Build|execution|build|executionID=%s', 'subModule' => 'build'); +$lang->execution->menu->testtask = array('link' => 'Request|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask'); +$lang->execution->menu->doc = array('link' => 'Doc|doc|objectLibs|type=execution&objectID=%s&from=execution', 'subModule' => 'doc'); +$lang->execution->menu->product = $lang->productCommon . '|execution|manageproducts|executionID=%s'; +$lang->execution->menu->team = array('link' => 'Team|execution|team|executionID=%s', 'alias' => 'managemembers'); +$lang->execution->menu->more = array('link' => 'More|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover'); -$lang->project->subMenu = new stdclass(); -$lang->project->subMenu->view = new stdclass(); -$lang->project->subMenu->view->groupTask = 'Group View|project|grouptask|projectID=%s'; -$lang->project->subMenu->view->tree = 'Tree View|project|tree|projectID=%s'; +$lang->execution->subMenu = new stdclass(); +$lang->execution->subMenu->view = new stdclass(); +$lang->execution->subMenu->view->groupTask = 'Group View|execution|grouptask|executionID=%s'; +$lang->execution->subMenu->view->tree = 'Tree View|execution|tree|executionID=%s'; -$lang->project->subMenu->qa = new stdclass(); -$lang->project->subMenu->qa->bug = 'Bug|project|bug|projectID=%s'; -$lang->project->subMenu->qa->build = array('link' => 'Build|project|build|projectID=%s', 'subModule' => 'build'); -$lang->project->subMenu->qa->testtask = array('link' => 'Request|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask'); +$lang->execution->subMenu->qa = new stdclass(); +$lang->execution->subMenu->qa->bug = 'Bug|execution|bug|executionID=%s'; +$lang->execution->subMenu->qa->build = array('link' => 'Build|execution|build|executionID=%s', 'subModule' => 'build'); +$lang->execution->subMenu->qa->testtask = array('link' => 'Request|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask'); -$lang->project->subMenu->more = new stdclass(); -$lang->project->subMenu->more->whitelist = array('link' => 'Whitelist|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist'); -$lang->project->subMenu->more->action = array('link' => 'Dynamics|project|dynamic|projectID=%s'); -$lang->project->subMenu->more->view = array('link' => 'Overview|project|view|projectID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close'); +$lang->execution->subMenu->more = new stdclass(); +$lang->execution->subMenu->more->whitelist = array('link' => 'Whitelist|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist'); +$lang->execution->subMenu->more->action = array('link' => 'Dynamics|execution|dynamic|executionID=%s'); +$lang->execution->subMenu->more->view = array('link' => 'Overview|execution|view|executionID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close'); -$lang->project->dividerMenu = ',project,programplan,projectbuild,story,doc,other,'; +$lang->execution->dividerMenu = ',execution,programplan,executionbuild,story,doc,other,'; $lang->task = new stdclass(); $lang->build = new stdclass(); -$lang->task->menu = $lang->project->menu; -$lang->build->menu = $lang->project->menu; +$lang->task->menu = $lang->execution->menu; +$lang->build->menu = $lang->execution->menu; /* QA menu settings. */ $lang->qa = new stdclass(); @@ -636,7 +631,6 @@ $lang->navGroup->story = 'product'; $lang->navGroup->tree = 'product'; $lang->navGroup->project = 'project'; -$lang->navGroup->task = 'project'; $lang->navGroup->qa = 'project'; $lang->navGroup->bug = 'project'; $lang->navGroup->doc = 'project'; @@ -667,6 +661,9 @@ $lang->navGroup->compile = 'project'; $lang->navGroup->report = 'project'; $lang->navGroup->measrecord = 'project'; +$lang->navGroup->execution = 'execution'; +$lang->navGroup->task = 'project'; + $lang->navGroup->sqlbuilder = 'system'; $lang->navGroup->auditcl = 'system'; $lang->navGroup->cmcl = 'system'; @@ -969,11 +966,6 @@ $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder| $lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|'); $lang->nc->menu = $lang->auditplan->menu; -$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); -if($config->systemMode == 'classic') -{ - $lang->noMenuModule[] = 'project'; - $lang->noMenuModule[] = 'task'; -} +$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'execution', 'task', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); include (dirname(__FILE__) . '/menuOrder.php'); diff --git a/module/common/lang/fr.php b/module/common/lang/fr.php index bb48dc9667..486a70e619 100644 --- a/module/common/lang/fr.php +++ b/module/common/lang/fr.php @@ -116,11 +116,6 @@ $lang->workingHour = 'Heures'; $lang->sprintCommon = $lang->iterationCommon . '/Phase'; -$lang->execution = new stdclass(); -$lang->execution->common = 'Execution'; -$lang->execution->sprint = 'Iteration'; -$lang->execution->stage = 'Phase'; - $lang->idAB = 'ID'; $lang->priAB = 'P'; $lang->statusAB = 'Statut'; @@ -252,7 +247,7 @@ $lang->searchObjects['caselib'] = 'Case Library'; $lang->searchObjects['testreport'] = 'CR de Test'; $lang->searchObjects['program'] = 'Program'; $lang->searchObjects['project'] = 'Project'; -$lang->searchObjects['execution'] = $lang->execution->common; +$lang->searchObjects['execution'] = $lang->executionCommon; $lang->searchObjects['user'] = 'User'; $lang->searchTips = 'ID (ctrl+g)'; @@ -339,43 +334,43 @@ $lang->story = new stdclass(); $lang->story->menu = $lang->product->menu; /* Project menu settings. */ -$lang->project = new stdclass(); -$lang->project->menu = new stdclass(); +$lang->execution = new stdclass(); +$lang->execution->menu = new stdclass(); -$lang->project->menu->task = array('link' => 'Tâche|project|task|projectID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug'); -$lang->project->menu->kanban = array('link' => 'Kanban|project|kanban|projectID=%s'); -$lang->project->menu->burn = array('link' => 'Atterrissage|project|burn|projectID=%s'); -$lang->project->menu->view = array('link' => 'View|project|grouptask|projectID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover'); -$lang->project->menu->story = array('link' => "Story|project|story|projectID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban'); -$lang->project->menu->bug = array('link' => 'Bug|project|bug|projectID=%s'); -$lang->project->menu->build = array('link' => 'Build|project|build|projectID=%s', 'subModule' => 'build'); -$lang->project->menu->testtask = array('link' => 'Recette|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask'); -$lang->project->menu->doc = array('link' => 'Doc|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc'); -$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s'; -$lang->project->menu->team = array('link' => 'Equipe|project|team|projectID=%s', 'alias' => 'managemembers'); -$lang->project->menu->more = array('link' => 'More|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover'); +$lang->execution->menu->task = array('link' => 'Tâche|execution|task|executionID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug'); +$lang->execution->menu->kanban = array('link' => 'Kanban|execution|kanban|executionID=%s'); +$lang->execution->menu->burn = array('link' => 'Atterrissage|execution|burn|executionID=%s'); +$lang->execution->menu->view = array('link' => 'View|execution|grouptask|executionID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover'); +$lang->execution->menu->story = array('link' => "Story|execution|story|executionID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban'); +$lang->execution->menu->bug = array('link' => 'Bug|execution|bug|executionID=%s'); +$lang->execution->menu->build = array('link' => 'Build|execution|build|executionID=%s', 'subModule' => 'build'); +$lang->execution->menu->testtask = array('link' => 'Recette|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask'); +$lang->execution->menu->doc = array('link' => 'Doc|doc|objectLibs|type=execution&objectID=%s&from=execution', 'subModule' => 'doc'); +$lang->execution->menu->product = $lang->productCommon . '|execution|manageproducts|executionID=%s'; +$lang->execution->menu->team = array('link' => 'Equipe|execution|team|executionID=%s', 'alias' => 'managemembers'); +$lang->execution->menu->more = array('link' => 'More|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover'); -$lang->project->subMenu = new stdclass(); -$lang->project->subMenu->view = new stdclass(); -$lang->project->subMenu->view->groupTask = 'Vision Groupée|project|grouptask|projectID=%s'; -$lang->project->subMenu->view->tree = 'Arborescence|project|tree|projectID=%s'; +$lang->execution->subMenu = new stdclass(); +$lang->execution->subMenu->view = new stdclass(); +$lang->execution->subMenu->view->groupTask = 'Vision Groupée|execution|grouptask|executionID=%s'; +$lang->execution->subMenu->view->tree = 'Arborescence|execution|tree|executionID=%s'; -$lang->project->subMenu->qa = new stdclass(); -$lang->project->subMenu->qa->bug = 'Bug|project|bug|projectID=%s'; -$lang->project->subMenu->qa->build = array('link' => 'Build|project|build|projectID=%s', 'subModule' => 'build'); -$lang->project->subMenu->qa->testtask = array('link' => 'Recette|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask'); +$lang->execution->subMenu->qa = new stdclass(); +$lang->execution->subMenu->qa->bug = 'Bug|execution|bug|executionID=%s'; +$lang->execution->subMenu->qa->build = array('link' => 'Build|execution|build|executionID=%s', 'subModule' => 'build'); +$lang->execution->subMenu->qa->testtask = array('link' => 'Recette|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask'); -$lang->project->subMenu->more = new stdclass(); -$lang->project->subMenu->more->whitelist = array('link' => 'Whitelist|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist'); -$lang->project->subMenu->more->action = array('link' => 'Historique|project|dynamic|projectID=%s'); -$lang->project->subMenu->more->view = array('link' => "Vue d'ensemble|project|view|projectID=%s", 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close'); +$lang->execution->subMenu->more = new stdclass(); +$lang->execution->subMenu->more->whitelist = array('link' => 'Whitelist|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist'); +$lang->execution->subMenu->more->action = array('link' => 'Historique|execution|dynamic|executionID=%s'); +$lang->execution->subMenu->more->view = array('link' => "Vue d'ensemble|execution|view|executionID=%s", 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close'); -$lang->project->dividerMenu = ',project,programplan,projectbuild,story,doc,other,'; +$lang->execution->dividerMenu = ',execution,programplan,executionbuild,story,doc,other,'; $lang->task = new stdclass(); $lang->build = new stdclass(); -$lang->task->menu = $lang->project->menu; -$lang->build->menu = $lang->project->menu; +$lang->task->menu = $lang->execution->menu; +$lang->build->menu = $lang->execution->menu; /* QA menu settings. */ $lang->qa = new stdclass(); @@ -636,7 +631,6 @@ $lang->navGroup->story = 'product'; $lang->navGroup->tree = 'product'; $lang->navGroup->project = 'project'; -$lang->navGroup->task = 'project'; $lang->navGroup->qa = 'project'; $lang->navGroup->bug = 'project'; $lang->navGroup->doc = 'project'; @@ -667,6 +661,9 @@ $lang->navGroup->compile = 'project'; $lang->navGroup->report = 'project'; $lang->navGroup->measrecord = 'project'; +$lang->navGroup->execution = 'execution'; +$lang->navGroup->task = 'execution'; + $lang->navGroup->sqlbuilder = 'system'; $lang->navGroup->auditcl = 'system'; $lang->navGroup->cmcl = 'system'; @@ -969,11 +966,6 @@ $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder| $lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|'); $lang->nc->menu = $lang->auditplan->menu; -$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); -if($config->systemMode == 'classic') -{ - $lang->noMenuModule[] = 'project'; - $lang->noMenuModule[] = 'task'; -} +$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'execution', 'task', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); include (dirname(__FILE__) . '/menuOrder.php'); diff --git a/module/common/lang/menuOrder.php b/module/common/lang/menuOrder.php index 946f4b2e75..482059642b 100644 --- a/module/common/lang/menuOrder.php +++ b/module/common/lang/menuOrder.php @@ -92,20 +92,21 @@ $lang->release->menuOrder = $lang->product->menuOrder; $lang->branch->menuOrder = $lang->product->menuOrder; /* project menu order. */ -$lang->project->menuOrder[5] = 'task'; -$lang->project->menuOrder[10] = 'kanban'; -$lang->project->menuOrder[15] = 'burn'; -$lang->project->menuOrder[20] = 'view'; -$lang->project->menuOrder[25] = 'story'; -$lang->project->menuOrder[30] = 'bug'; -$lang->project->menuOrder[35] = 'build'; -$lang->project->menuOrder[40] = 'testtask'; -$lang->project->menuOrder[45] = 'doc'; -$lang->project->menuOrder[50] = 'product'; -$lang->project->menuOrder[55] = 'team'; -$lang->project->menuOrder[60] = 'more'; -$lang->task->menuOrder = $lang->project->menuOrder; -$lang->build->menuOrder = $lang->project->menuOrder; +$lang->execution->menuOrder[5] = 'task'; +$lang->execution->menuOrder[10] = 'kanban'; +$lang->execution->menuOrder[15] = 'burn'; +$lang->execution->menuOrder[20] = 'view'; +$lang->execution->menuOrder[25] = 'story'; +$lang->execution->menuOrder[30] = 'bug'; +$lang->execution->menuOrder[35] = 'build'; +$lang->execution->menuOrder[40] = 'testtask'; +$lang->execution->menuOrder[45] = 'doc'; +$lang->execution->menuOrder[50] = 'product'; +$lang->execution->menuOrder[55] = 'team'; +$lang->execution->menuOrder[60] = 'more'; + +$lang->task->menuOrder = $lang->execution->menuOrder; +$lang->build->menuOrder = $lang->execution->menuOrder; /* qa menu order. */ $lang->qa->menuOrder[5] = 'product'; diff --git a/module/common/lang/vi.php b/module/common/lang/vi.php index 08a5d406b2..7104a75591 100644 --- a/module/common/lang/vi.php +++ b/module/common/lang/vi.php @@ -116,11 +116,6 @@ $lang->workingHour = 'giờ'; $lang->sprintCommon = $lang->iterationCommon . '/Phase'; -$lang->execution = new stdclass(); -$lang->execution->common = 'Execution'; -$lang->execution->sprint = 'Iteration'; -$lang->execution->stage = 'Phase'; - $lang->idAB = 'ID'; $lang->priAB = 'P'; $lang->statusAB = 'Tình trạng'; @@ -252,7 +247,7 @@ $lang->searchObjects['caselib'] = 'Thư viện tình huống'; $lang->searchObjects['testreport'] = 'Test báo cáo'; $lang->searchObjects['program'] = 'Program'; $lang->searchObjects['project'] = 'Project'; -$lang->searchObjects['execution'] = $lang->execution->common; +$lang->searchObjects['execution'] = $lang->executionCommon; $lang->searchObjects['user'] = 'User'; $lang->searchTips = 'ID (ctrl+g)'; @@ -339,43 +334,43 @@ $lang->story = new stdclass(); $lang->story->menu = $lang->product->menu; /* Project menu settings. */ -$lang->project = new stdclass(); -$lang->project->menu = new stdclass(); +$lang->execution = new stdclass(); +$lang->execution->menu = new stdclass(); -$lang->project->menu->task = array('link' => 'Nhiệm vụ|project|task|projectID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug'); -$lang->project->menu->kanban = array('link' => 'Kanban|project|kanban|projectID=%s'); -$lang->project->menu->burn = array('link' => 'Burndown|project|burn|projectID=%s'); -$lang->project->menu->view = array('link' => 'View|project|grouptask|projectID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover'); -$lang->project->menu->story = array('link' => "Câu chuyện|project|story|projectID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban'); -$lang->project->menu->bug = array('link' => 'Bug|project|bug|projectID=%s'); -$lang->project->menu->build = array('link' => 'Bản dựng|project|build|projectID=%s', 'subModule' => 'build'); -$lang->project->menu->testtask = array('link' => 'Yêu cầu|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask'); -$lang->project->menu->doc = array('link' => 'Tài liệu|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc'); -$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s'; -$lang->project->menu->team = array('link' => 'Đội nhóm|project|team|projectID=%s', 'alias' => 'managemembers'); -$lang->project->menu->more = array('link' => 'More|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover'); +$lang->execution->menu->task = array('link' => 'Nhiệm vụ|execution|task|executionID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug'); +$lang->execution->menu->kanban = array('link' => 'Kanban|execution|kanban|executionID=%s'); +$lang->execution->menu->burn = array('link' => 'Burndown|execution|burn|executionID=%s'); +$lang->execution->menu->view = array('link' => 'View|execution|grouptask|executionID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover'); +$lang->execution->menu->story = array('link' => "Câu chuyện|execution|story|executionID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban'); +$lang->execution->menu->bug = array('link' => 'Bug|execution|bug|executionID=%s'); +$lang->execution->menu->build = array('link' => 'Bản dựng|execution|build|executionID=%s', 'subModule' => 'build'); +$lang->execution->menu->testtask = array('link' => 'Yêu cầu|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask'); +$lang->execution->menu->doc = array('link' => 'Tài liệu|doc|objectLibs|type=execution&objectID=%s&from=execution', 'subModule' => 'doc'); +$lang->execution->menu->product = $lang->productCommon . '|execution|manageproducts|executionID=%s'; +$lang->execution->menu->team = array('link' => 'Đội nhóm|execution|team|executionID=%s', 'alias' => 'managemembers'); +$lang->execution->menu->more = array('link' => 'More|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover'); -$lang->project->subMenu = new stdclass(); -$lang->project->subMenu->view = new stdclass(); -$lang->project->subMenu->view->groupTask = 'Xem theo nhóm|project|grouptask|projectID=%s'; -$lang->project->subMenu->view->tree = 'Xem theo cây|project|tree|projectID=%s'; +$lang->execution->subMenu = new stdclass(); +$lang->execution->subMenu->view = new stdclass(); +$lang->execution->subMenu->view->groupTask = 'Xem theo nhóm|execution|grouptask|executionID=%s'; +$lang->execution->subMenu->view->tree = 'Xem theo cây|execution|tree|executionID=%s'; -$lang->project->subMenu->qa = new stdclass(); -$lang->project->subMenu->qa->bug = 'Bug|project|bug|projectID=%s'; -$lang->project->subMenu->qa->build = array('link' => 'Bản dựng|project|build|projectID=%s', 'subModule' => 'build'); -$lang->project->subMenu->qa->testtask = array('link' => 'Yêu cầu|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask'); +$lang->execution->subMenu->qa = new stdclass(); +$lang->execution->subMenu->qa->bug = 'Bug|execution|bug|executionID=%s'; +$lang->execution->subMenu->qa->build = array('link' => 'Bản dựng|execution|build|executionID=%s', 'subModule' => 'build'); +$lang->execution->subMenu->qa->testtask = array('link' => 'Yêu cầu|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask'); -$lang->project->subMenu->more = new stdclass(); -$lang->project->subMenu->more->whitelist = array('link' => 'Whitelist|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist'); -$lang->project->subMenu->more->action = array('link' => 'Lịch sử|project|dynamic|projectID=%s'); -$lang->project->subMenu->more->view = array('link' => 'Tổng quan|project|view|projectID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close'); +$lang->execution->subMenu->more = new stdclass(); +$lang->execution->subMenu->more->whitelist = array('link' => 'Whitelist|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist'); +$lang->execution->subMenu->more->action = array('link' => 'Lịch sử|execution|dynamic|executionID=%s'); +$lang->execution->subMenu->more->view = array('link' => 'Tổng quan|execution|view|executionID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close'); -$lang->project->dividerMenu = ',project,programplan,projectbuild,story,doc,other,'; +$lang->execution->dividerMenu = ',execution,programplan,executionbuild,story,doc,other,'; $lang->task = new stdclass(); $lang->build = new stdclass(); -$lang->task->menu = $lang->project->menu; -$lang->build->menu = $lang->project->menu; +$lang->task->menu = $lang->execution->menu; +$lang->build->menu = $lang->execution->menu; /* QA menu settings. */ $lang->qa = new stdclass(); @@ -636,7 +631,6 @@ $lang->navGroup->story = 'product'; $lang->navGroup->tree = 'product'; $lang->navGroup->project = 'project'; -$lang->navGroup->task = 'project'; $lang->navGroup->qa = 'project'; $lang->navGroup->bug = 'project'; $lang->navGroup->doc = 'project'; @@ -667,6 +661,9 @@ $lang->navGroup->compile = 'project'; $lang->navGroup->report = 'project'; $lang->navGroup->measrecord = 'project'; +$lang->navGroup->execution = 'execution'; +$lang->navGroup->task = 'execution'; + $lang->navGroup->sqlbuilder = 'system'; $lang->navGroup->auditcl = 'system'; $lang->navGroup->cmcl = 'system'; @@ -969,11 +966,6 @@ $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder| $lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|'); $lang->nc->menu = $lang->auditplan->menu; -$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); -if($config->systemMode == 'classic') -{ - $lang->noMenuModule[] = 'project'; - $lang->noMenuModule[] = 'task'; -} +$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'execution', 'task', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); include (dirname(__FILE__) . '/menuOrder.php'); diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 2833417a60..6ae050cf22 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -116,11 +116,6 @@ $lang->workingHour = '工时'; $lang->sprintCommon = $lang->iterationCommon . '/阶段'; -$lang->execution = new stdclass(); -$lang->execution->common = '执行'; -$lang->execution->sprint = '迭代'; -$lang->execution->stage = '阶段'; - $lang->idAB = 'ID'; $lang->priAB = 'P'; $lang->statusAB = '状态'; @@ -252,7 +247,7 @@ $lang->searchObjects['caselib'] = '用例库'; $lang->searchObjects['testreport'] = '测试报告'; $lang->searchObjects['program'] = '项目集'; $lang->searchObjects['project'] = '项目'; -$lang->searchObjects['execution'] = $lang->execution->common; +$lang->searchObjects['execution'] = $lang->executionCommon; $lang->searchObjects['user'] = '用户'; $lang->searchTips = '编号(ctrl+g)'; @@ -339,43 +334,43 @@ $lang->story = new stdclass(); $lang->story->menu = $lang->product->menu; /* 项目视图菜单设置。*/ -$lang->project = new stdclass(); -$lang->project->menu = new stdclass(); +$lang->execution = new stdclass(); +$lang->execution->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->view = array('link' => '视图|project|grouptask|projectID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover'); -$lang->project->menu->story = array('link' => "{$lang->SRCommon}|project|story|projectID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban'); -$lang->project->menu->bug = array('link' => 'Bug|project|bug|projectID=%s'); -$lang->project->menu->build = array('link' => '版本|project|build|projectID=%s', 'subModule' => 'build'); -$lang->project->menu->testtask = array('link' => '测试单|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask'); -$lang->project->menu->doc = array('link' => '文档|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc'); -$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->more = array('link' => '更多|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover'); +$lang->execution->menu->task = array('link' => '任务|execution|task|executionID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug'); +$lang->execution->menu->kanban = array('link' => '看板|execution|kanban|executionID=%s'); +$lang->execution->menu->burn = array('link' => '燃尽图|execution|burn|executionID=%s'); +$lang->execution->menu->view = array('link' => '视图|execution|grouptask|executionID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover'); +$lang->execution->menu->story = array('link' => "{$lang->SRCommon}|execution|story|executionID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban'); +$lang->execution->menu->bug = array('link' => 'Bug|execution|bug|executionID=%s'); +$lang->execution->menu->build = array('link' => '版本|execution|build|executionID=%s', 'subModule' => 'build'); +$lang->execution->menu->testtask = array('link' => '测试单|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask'); +$lang->execution->menu->doc = array('link' => '文档|doc|objectLibs|type=execution&objectID=%s&from=execution', 'subModule' => 'doc'); +$lang->execution->menu->product = $lang->productCommon . '|execution|manageproducts|executionID=%s'; +$lang->execution->menu->team = array('link' => '团队|execution|team|executionID=%s', 'alias' => 'managemembers'); +$lang->execution->menu->more = array('link' => '更多|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover'); -$lang->project->subMenu = new stdclass(); -$lang->project->subMenu->view = new stdclass(); -$lang->project->subMenu->view->groupTask = '分组视图|project|grouptask|projectID=%s'; -$lang->project->subMenu->view->tree = '树状图|project|tree|projectID=%s'; +$lang->execution->subMenu = new stdclass(); +$lang->execution->subMenu->view = new stdclass(); +$lang->execution->subMenu->view->groupTask = '分组视图|execution|grouptask|executionID=%s'; +$lang->execution->subMenu->view->tree = '树状图|execution|tree|executionID=%s'; -$lang->project->subMenu->qa = new stdclass(); -$lang->project->subMenu->qa->bug = 'Bug|project|bug|projectID=%s'; -$lang->project->subMenu->qa->build = array('link' => '版本|project|build|projectID=%s', 'subModule' => 'build'); -$lang->project->subMenu->qa->testtask = array('link' => '测试单|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask'); +$lang->execution->subMenu->qa = new stdclass(); +$lang->execution->subMenu->qa->bug = 'Bug|execution|bug|executionID=%s'; +$lang->execution->subMenu->qa->build = array('link' => '版本|execution|build|executionID=%s', 'subModule' => 'build'); +$lang->execution->subMenu->qa->testtask = array('link' => '测试单|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask'); -$lang->project->subMenu->more = new stdclass(); -$lang->project->subMenu->more->whitelist = array('link' => '白名单|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist'); -$lang->project->subMenu->more->action = array('link' => '动态|project|dynamic|projectID=%s'); -$lang->project->subMenu->more->view = array('link' => '概况|project|view|projectID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close'); +$lang->execution->subMenu->more = new stdclass(); +$lang->execution->subMenu->more->whitelist = array('link' => '白名单|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist'); +$lang->execution->subMenu->more->action = array('link' => '动态|execution|dynamic|executionID=%s'); +$lang->execution->subMenu->more->view = array('link' => '概况|execution|view|executionID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close'); -$lang->project->dividerMenu = ',project,programplan,projectbuild,story,doc,other,'; +$lang->execution->dividerMenu = ',execution,programplan,executionbuild,story,doc,other,'; $lang->task = new stdclass(); $lang->build = new stdclass(); -$lang->task->menu = $lang->project->menu; -$lang->build->menu = $lang->project->menu; +$lang->task->menu = $lang->execution->menu; +$lang->build->menu = $lang->execution->menu; /* QA视图菜单设置。*/ $lang->qa = new stdclass(); @@ -636,7 +631,6 @@ $lang->navGroup->story = 'product'; $lang->navGroup->tree = 'product'; $lang->navGroup->project = 'project'; -$lang->navGroup->task = 'project'; $lang->navGroup->qa = 'project'; $lang->navGroup->bug = 'project'; $lang->navGroup->doc = 'project'; @@ -667,6 +661,9 @@ $lang->navGroup->compile = 'project'; $lang->navGroup->report = 'project'; $lang->navGroup->measrecord = 'project'; +$lang->navGroup->execution = 'execution'; +$lang->navGroup->task = 'execution'; + $lang->navGroup->sqlbuilder = 'system'; $lang->navGroup->auditcl = 'system'; $lang->navGroup->cmcl = 'system'; @@ -969,11 +966,6 @@ $lang->stakeholder->menu->list = array('link' => '干系人列表|stakeholder|b $lang->stakeholder->menu->issue = array('link' => '问题管理|stakeholder|issue|'); $lang->nc->menu = $lang->auditplan->menu; -$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); -if($config->systemMode == 'classic') -{ - $lang->noMenuModule[] = 'project'; - $lang->noMenuModule[] = 'task'; -} +$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'execution', 'task', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); include (dirname(__FILE__) . '/menuOrder.php'); diff --git a/module/common/lang/zh-tw.php b/module/common/lang/zh-tw.php index 99c4745557..23c7bc25ba 100644 --- a/module/common/lang/zh-tw.php +++ b/module/common/lang/zh-tw.php @@ -117,7 +117,7 @@ $lang->workingHour = '工時'; $lang->sprintCommon = $lang->iterationCommon . '/階段'; $lang->execution = new stdclass(); -$lang->execution->common = '執行'; +$lang->executionCommon = '執行'; $lang->execution->sprint = '迭代'; $lang->execution->stage = '階段'; @@ -252,7 +252,7 @@ $lang->searchObjects['caselib'] = '用例庫'; $lang->searchObjects['testreport'] = '測試報告'; $lang->searchObjects['program'] = '項目集'; $lang->searchObjects['project'] = '項目'; -$lang->searchObjects['execution'] = $lang->execution->common; +$lang->searchObjects['execution'] = $lang->executionCommon; $lang->searchObjects['user'] = '用戶'; $lang->searchTips = '編號(ctrl+g)'; diff --git a/module/common/model.php b/module/common/model.php index e072de46c5..864194139f 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -2362,6 +2362,11 @@ EOD; $lang->menu = $lang->feedback->menu; $lang->menuOrder = $lang->feedback->menuOrder; } + if($group == 'execution') + { + $lang->menu = $lang->execution->menu; + $lang->menuOrder = $lang->execution->menuOrder; + } if($group == 'project') { $lang->menu = $config->systemMode == 'new' ? self::getProgramMainMenu($moduleName) : $lang->project->menu; diff --git a/module/doc/model.php b/module/doc/model.php index a79c8ec4b7..2e62a0a48c 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -1078,7 +1078,7 @@ class docModel extends model $productOrderLibs[$productID]['name'] = $productName; $productOrderLibs[$productID]['status'] = $product->status; foreach($productLibs[$productID] as $libID => $libName) $productOrderLibs[$productID]['libs'][$libID] = $libName; - if(isset($hasProject[$productID]) and $hasLibsPriv) $productOrderLibs[$productID]['libs']['project'] = $this->lang->doclib->project; + if(isset($hasProject[$productID]) and $hasLibsPriv) $productOrderLibs[$productID]['libs']['project'] = $this->lang->doclib->execution; if($hasFilesPriv) $productOrderLibs[$productID]['libs']['files'] = $this->lang->doclib->files; } } diff --git a/module/execution/control.php b/module/execution/control.php index f230a8aa9f..fb9bda299a 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -42,7 +42,7 @@ class execution extends control if(!in_array($this->methodName, array('computeburn', 'ajaxgetrecentexecutions'))) { - $this->executions = $this->execution->getPairs($this->session->project, 'all', 'nocode'); + $this->executions = $this->execution->getPairs(0, 'all', 'nocode'); if(!$this->executions and $this->methodName != 'index' and $this->methodName != 'create' and $this->app->getViewType() != 'mhtml') $this->locate($this->createLink('execution', 'create')); } $this->objectType = $this->config->systemMode == 'classic' ? 'project' : 'execution'; @@ -282,7 +282,7 @@ class execution extends control if(empty($groupBy))$groupBy = 'story'; if(($groupBy == 'story') and ($execution->type == 'ops'))$groupBy = 'status'; $sort = $this->loadModel('common')->appendOrder($groupBy); - $tasks = $this->loadModel('task')->getTasks($executionID, $productID = 0, $status = 'all', $modules = 0, $sort); + $tasks = $this->loadModel('task')->getExecutionTasks($executionID, $productID = 0, $status = 'all', $modules = 0, $sort); $groupBy = str_replace('`', '', $groupBy); $taskLang = $this->lang->task; $groupByList = array(); @@ -738,7 +738,7 @@ class execution extends control $this->app->loadClass('pager', $static = true); $pager = new pager($recTotal, $recPerPage, $pageID); - $stories = $this->story->getStories($executionID, 0, 0, $sort, $type, $param, 'story', '', $pager); + $stories = $this->story->getExecutionStories($executionID, 0, 0, $sort, $type, $param, 'story', '', $pager); $this->loadModel('common')->saveQueryCondition($this->dao->get(), 'story', false); $users = $this->user->getPairs('noletter'); @@ -790,21 +790,21 @@ class execution extends control /* Get execution's product. */ $productID = 0; - $productPairs = $this->loadModel('product')->getProductPairsByExecution($executionID); + $productPairs = $this->loadModel('product')->getProductPairsByProject($executionID); if($productPairs) $productID = key($productPairs); /* Assign. */ $this->view->title = $title; $this->view->position = $position; $this->view->productID = $productID; - $this->view->execution = $execution; + $this->view->execution = $execution; $this->view->stories = $stories; $this->view->allPlans = $allPlans; $this->view->summary = $this->product->summary($stories); $this->view->orderBy = $orderBy; $this->view->type = $this->session->executionStoryBrowseType; $this->view->param = $param; - $this->view->moduleTree = $this->loadModel('tree')->getStoryTreeMenu($executionID, $startModuleID = 0, array('treeModel', 'createExecutionStoryLink')); + $this->view->moduleTree = $this->loadModel('tree')->getProjectStoryTreeMenu($executionID, $startModuleID = 0, array('treeModel', 'createExecutionStoryLink')); $this->view->tabID = 'story'; $this->view->storyTasks = $storyTasks; $this->view->storyBugs = $storyBugs; @@ -857,7 +857,7 @@ class execution extends control $this->app->loadClass('pager', $static = true); $pager = new pager($recTotal, $recPerPage, $pageID); $sort = $this->loadModel('common')->appendOrder($orderBy); - $bugs = $this->bug->getBugs($executionID, $build, $type, $param, $sort, '', $pager); + $bugs = $this->bug->getExecutionBugs($executionID, $build, $type, $param, $sort, '', $pager); $users = $this->user->getPairs('noletter'); /* team member pairs. */ @@ -917,7 +917,7 @@ class execution extends control $type = strtolower($type); $queryID = ($type == 'bysearch') ? (int)$param : 0; $actionURL = $this->createLink('execution', 'build', "executionID=$executionID&type=bysearch&queryID=myQueryID"); - $this->execution->buildExecutionBuildSearchForm($products, $queryID, $actionURL, 'execution'); + $this->project->buildProjectBuildSearchForm($products, $queryID, $actionURL, 'execution'); /* Get builds. */ if($type == 'bysearch') @@ -926,7 +926,7 @@ class execution extends control } else { - $builds = $this->loadModel('build')->getBuilds((int)$executionID, $type, $param); + $builds = $this->loadModel('build')->getExecutionBuilds((int)$executionID, $type, $param); } /* Set execution builds. */ @@ -978,7 +978,7 @@ class execution extends control $productTasks = array(); - $tasks = $this->testtask->getTasks($executionID, $orderBy, $pager); + $tasks = $this->testtask->getExecutionTasks($executionID, $orderBy, $pager); foreach($tasks as $key => $task) $productTasks[$task->product][] = $task; $this->view->title = $this->executions[$executionID] . $this->lang->colon . $this->lang->testtask->common; @@ -1306,7 +1306,7 @@ class execution extends control $position[] = $this->lang->execution->edit; $allProducts = array(0 => ''); - $executionProsucts = $this->execution->getProducts($execution->execution); + $executionProsucts = $this->execution->getProducts($execution->project); foreach($executionProsucts as $product) $allProducts[$product->id] = $product->name; $linkedProducts = $this->execution->getProducts($execution->id); @@ -1316,7 +1316,7 @@ class execution extends control $unmodifiableProducts = array(); foreach($linkedProducts as $productID => $linkedProduct) { - $executionStories = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('execution')->eq($executionID)->andWhere('product')->eq($productID)->fetchAll('story'); + $executionStories = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('project')->eq($executionID)->andWhere('product')->eq($productID)->fetchAll('story'); if(!empty($executionStories)) array_push($unmodifiableProducts, $productID); } @@ -1718,8 +1718,8 @@ class execution extends control $this->execution->setMenu($this->executions, $executionID); $execution = $this->loadModel('execution')->getById($executionID); $tasks = $this->execution->getKanbanTasks($executionID, "id"); - $bugs = $this->loadModel('bug')->getBugs($executionID); - $stories = $this->loadModel('story')->getStories($executionID, 0, 0, $orderBy); + $bugs = $this->loadModel('bug')->getExecutionBugs($executionID); + $stories = $this->loadModel('story')->getExecutionStories($executionID, 0, 0, $orderBy); /* Determines whether an object is editable. */ $canBeChanged = common::canModify('execution', $execution); @@ -2031,7 +2031,7 @@ class execution extends control $position[] = html::a($browseExecutionLink, $execution->name); $position[] = $this->lang->execution->manageProducts; - $allProducts = $this->product->getProductPairsByExecution($execution->execution); + $allProducts = $this->product->getProductPairsByProject($execution->project); $linkedProducts = $this->execution->getProducts($execution->id); $linkedBranches = array(); @@ -2039,7 +2039,7 @@ class execution extends control $unmodifiableProducts = array(); foreach($linkedProducts as $productID => $linkedProduct) { - $executionStories = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('execution')->eq($executionID)->andWhere('product')->eq($productID)->fetchAll('story'); + $executionStories = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('project')->eq($executionID)->andWhere('product')->eq($productID)->fetchAll('story'); if(!empty($executionStories)) array_push($unmodifiableProducts, $productID); } @@ -2481,12 +2481,12 @@ class execution extends control { $execution = $this->execution->getByID($executionID); - $this->view->link = $this->execution->getLink($module, $method, $extra); + $this->view->link = $this->execution->getLink($module, $method, $extra); $this->view->executionID = $executionID; - $this->view->module = $module; - $this->view->method = $method; - $this->view->extra = $extra; - $this->view->executions = $this->execution->getsByExecution($execution->execution); + $this->view->module = $module; + $this->view->method = $method; + $this->view->extra = $extra; + $this->view->executions = $this->execution->getByProject($execution->project); $this->display(); } @@ -2558,10 +2558,10 @@ class execution extends control $idList = explode(',', trim($this->post->storys, ',')); $orderBy = $this->post->orderBy; - $order = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('story')->in($idList)->andWhere('execution')->eq($executionID)->orderBy('order_asc')->fetch('order'); + $order = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('story')->in($idList)->andWhere('project')->eq($executionID)->orderBy('order_asc')->fetch('order'); foreach($idList as $storyID) { - $this->dao->update(TABLE_PROJECTSTORY)->set('`order`')->eq($order)->where('story')->eq($storyID)->andWhere('execution')->eq($executionID)->exec(); + $this->dao->update(TABLE_PROJECTSTORY)->set('`order`')->eq($order)->where('story')->eq($storyID)->andWhere('project')->eq($executionID)->exec(); $order++; } } diff --git a/module/execution/lang/de.php b/module/execution/lang/de.php index 7b1d83ef5e..b8fb7739dd 100644 --- a/module/execution/lang/de.php +++ b/module/execution/lang/de.php @@ -11,7 +11,7 @@ */ /* Fields. */ $lang->project->common = $lang->executionCommon; -$lang->project->allProjects = 'Alle'; +$lang->project->allExecutions = 'Alle'; $lang->project->id = $lang->executionCommon . ' ID'; $lang->project->type = 'Typ'; $lang->project->name = 'Name'; diff --git a/module/execution/lang/en.php b/module/execution/lang/en.php index 11b7297dd5..3c16f5b37e 100644 --- a/module/execution/lang/en.php +++ b/module/execution/lang/en.php @@ -10,8 +10,8 @@ * @link http://www.zentao.net */ /* Fields. */ -$lang->execution->common = $lang->executionCommon; -$lang->execution->allProjects = 'All ' . $lang->executionCommon . 's'; +$lang->executionCommon = $lang->executionCommon; +$lang->execution->allExecutions = 'All ' . $lang->executionCommon . 's'; $lang->execution->id = $lang->executionCommon . ' ID'; $lang->execution->type = 'Type'; $lang->execution->name = "{$lang->executionCommon} Name"; diff --git a/module/execution/lang/fr.php b/module/execution/lang/fr.php index 28fc3c701a..3e075ee646 100644 --- a/module/execution/lang/fr.php +++ b/module/execution/lang/fr.php @@ -11,7 +11,7 @@ */ /* Fields. */ $lang->project->common = $lang->executionCommon; -$lang->project->allProjects = 'Tous les ' . $lang->executionCommon . 's'; +$lang->project->allExecutions = 'Tous les ' . $lang->executionCommon . 's'; $lang->project->id = $lang->executionCommon . ' ID'; $lang->project->type = 'Type'; $lang->project->name = "Nom du {$lang->executionCommon}"; diff --git a/module/execution/lang/vi.php b/module/execution/lang/vi.php index 2ebdccc298..188a86fb74 100644 --- a/module/execution/lang/vi.php +++ b/module/execution/lang/vi.php @@ -11,7 +11,7 @@ */ /* Fields. */ $lang->project->common = $lang->executionCommon; -$lang->project->allProjects = 'Tất cả ' . $lang->executionCommon; +$lang->project->allExecutions = 'Tất cả ' . $lang->executionCommon; $lang->project->id = 'ID '.$lang->executionCommon; $lang->project->type = 'Loại'; $lang->project->name = "Tên {$lang->executionCommon}"; diff --git a/module/execution/lang/zh-cn.php b/module/execution/lang/zh-cn.php index 264d28a006..fc2aaa6ee0 100644 --- a/module/execution/lang/zh-cn.php +++ b/module/execution/lang/zh-cn.php @@ -10,8 +10,8 @@ * @link http://www.zentao.net */ /* 字段列表。*/ -$lang->execution->common = $lang->executionCommon . '视图'; -$lang->execution->allProjects = '所有' . $lang->executionCommon; +$lang->executionCommon = $lang->executionCommon; +$lang->execution->allExecutions = '所有' . $lang->executionCommon; $lang->execution->id = $lang->executionCommon . '编号'; $lang->execution->type = $lang->executionCommon . '类型'; $lang->execution->name = $lang->executionCommon . '名称'; diff --git a/module/execution/model.php b/module/execution/model.php index 4e044607a9..4ee22c0290 100644 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -83,6 +83,7 @@ class executionModel extends model $products = $this->loadModel('product')->getPairs(); /* Unset story, bug, build and testtask if type is ops. */ + $execution = $this->getByID($executionID); if($execution and $execution->lifetime == 'ops') { unset($this->lang->execution->menu->story); @@ -278,6 +279,7 @@ class executionModel extends model if(empty($executionID) and isset($this->config->execution->lastExecution) and isset($executions[$this->config->execution->lastExecution])) { $this->session->set('execution', $this->config->execution->lastExecution); + $this->setProjectSession($this->session->execution); return $this->session->execution; } @@ -295,9 +297,23 @@ class executionModel extends model $this->session->set('execution', key($executions)); if($executionID && strpos(",{$this->app->user->view->sprints},", ",{$this->session->execution},") === false) $this->accessDenied(); } + + $this->setProjectSession($this->session->execution); return $this->session->execution; } + /** + * Set project into session. + * + * @param int $executionID + * @access public + * @return void + */ + public function setProjectSession($executionID) + { + $execution = $this->getByID($executionID); + $this->session->set('project', $execution->project); + } /** * Create a execution. * @@ -821,7 +837,7 @@ class executionModel extends model if($type == 'create' or $oldExecution->grade == 1) { $oldPercentTotal = $this->dao->select('SUM(t2.percent) as total')->from(TABLE_PROJECTPRODUCT)->alias('t1') - ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.execution=t2.id') + ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.project=t2.id') ->where('t1.product')->eq($this->post->products[0]) ->andWhere('t2.type')->eq('stage') ->andWhere('t2.grade')->eq(1) @@ -883,7 +899,7 @@ class executionModel extends model /* Order by status's content whether or not done */ $executions = $this->dao->select('*, IF(INSTR("done,closed", status) < 2, 0, 1) AS isDone, INSTR("doing,wait,suspended,closed", status) AS sortStatus')->from(TABLE_EXECUTION) ->where('deleted')->eq(0) - ->beginIF(!$projectID && $type == 'all' && $this->config->systemMode == 'new')->andWhere('type')->in('stage,sprint')->fi() + ->beginIF($type == 'all' && $this->config->systemMode == 'new')->andWhere('type')->in('stage,sprint')->fi() ->beginIF($projectID && $this->config->systemMode == 'new')->andWhere('project')->eq($projectID)->fi() ->beginIF($type != 'all' && $this->config->systemMode == 'new')->andWhere('type')->eq($type)->fi() ->beginIF(strpos($mode, 'withdelete') === false)->andWhere('deleted')->eq(0)->fi() @@ -941,7 +957,7 @@ class executionModel extends model if($productID != 0) { return $this->dao->select('t2.*')->from(TABLE_PROJECTPRODUCT)->alias('t1') - ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.execution = t2.id') + ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.project= t2.id') ->where('t1.product')->eq($productID) ->beginIF($projectID)->andWhere('t2.project')->eq($projectID)->fi() ->beginIF($type == 'all')->andWhere('t2.type')->in('sprint,stage,kanban')->fi() @@ -987,7 +1003,7 @@ class executionModel extends model if($productID != 0) { return $this->dao->select('t2.*')->from(TABLE_PROJECTPRODUCT)->alias('t1') - ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.execution = t2.id') + ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.project= t2.id') ->leftJoin(TABLE_TEAM)->alias('t3')->on('t3.root=t2.id') ->where('t1.product')->eq($productID) ->andWhere('t2.deleted')->eq(0) @@ -1067,7 +1083,7 @@ class executionModel extends model if(isset($project->model) and $project->model == 'waterfall') { $executionList = array(); - $executionProducts = $this->dao->select('t1.execution,t1.product')->from(TABLE_PROJECTPRODUCT)->alias('t1') + $executionProducts = $this->dao->select('t1.project,t1.product')->from(TABLE_PROJECTPRODUCT)->alias('t1') ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id') ->where('project')->in(array_keys($executions)) ->andWhere('t2.deleted')->eq(0) @@ -1219,7 +1235,7 @@ class executionModel extends model $products = array_keys($products); return $this->dao->select('t1.id, t1.name')->from(TABLE_EXECUTION)->alias('t1') ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2') - ->on('t1.id = t2.execution') + ->on('t1.id = t2.project') ->where('t2.product')->in($products) ->andWhere('t1.id')->ne((int)$executionID) ->andWhere('t1.deleted')->eq(0) @@ -1270,7 +1286,7 @@ class executionModel extends model public function getProductGroupList() { $list = $this->dao->select('t1.id, t1.name,t1.status, t2.product')->from(TABLE_EXECUTION)->alias('t1') - ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2')->on('t1.id = t2.execution') + ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2')->on('t1.id = t2.project') ->where('t1.deleted')->eq(0) ->beginIF(!$this->app->user->admin)->andWhere('t1.id')->in($this->app->user->view->sprints)->fi() ->fetchGroup('product'); @@ -1433,7 +1449,7 @@ class executionModel extends model { $managers = $this->dao->select('PO,QD,RD')->from(TABLE_PRODUCT)->alias('t1') ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2')->on('t1.id = t2.product') - ->where('t2.execution')->eq($executionID) + ->where('t2.project')->eq($executionID) ->fetch(); if($managers) return $managers; @@ -1554,7 +1570,7 @@ class executionModel extends model $this->config->product->search['fields']['title'] = str_replace($this->lang->SRCommon, $this->lang->SRCommon, $this->lang->story->title); $this->config->product->search['actionURL'] = $actionURL; $this->config->product->search['queryID'] = $queryID; - $this->config->product->search['params']['product']['values'] = $productPairs + array('all' => $this->lang->product->allProductsOfExecution); + $this->config->product->search['params']['product']['values'] = $productPairs + array('all' => $this->lang->product->allProductsOfProject); $this->config->product->search['params']['plan']['values'] = $this->loadModel('productplan')->getForProducts($products); $this->config->product->search['params']['module']['values'] = $modules; unset($this->lang->story->statusList['draft']); @@ -1608,9 +1624,9 @@ class executionModel extends model public function updateProducts($executionID, $products = '') { $this->loadModel('user'); - $products = isset($_POST['products']) ? $_POST['products'] : $products; - $oldExecutionProducts = $this->dao->select('*')->from(TABLE_PROJECTPRODUCT)->where('execution')->eq((int)$executionID)->fetchGroup('product', 'branch'); - $this->dao->delete()->from(TABLE_PROJECTPRODUCT)->where('execution')->eq((int)$executionID)->exec(); + $products = isset($_POST['products']) ? $_POST['products'] : $products; + $oldExecutionProducts = $this->dao->select('*')->from(TABLE_PROJECTPRODUCT)->where('project')->eq((int)$executionID)->fetchGroup('product', 'branch'); + $this->dao->delete()->from(TABLE_PROJECTPRODUCT)->where('project')->eq((int)$executionID)->exec(); $members = array_keys($this->getTeamMembers($executionID)); if(empty($products)) { @@ -1636,7 +1652,7 @@ class executionModel extends model } $data = new stdclass(); - $data->execution = $executionID; + $data->project = $executionID; $data->product = $productID; $data->branch = $branch; $data->plan = isset($plans[$productID]) ? $plans[$productID] : $oldPlan; @@ -1644,10 +1660,6 @@ class executionModel extends model $existedProducts[$productID] = true; } - /* Delete the execution linked products that is not linked with the execution. */ - $executions = $this->dao->select('id')->from(TABLE_EXECUTION)->where('execution')->eq((int)$executionID)->fetchPairs('id'); - $this->dao->delete()->from(TABLE_PROJECTPRODUCT)->where('execution')->in($executions)->andWhere('product')->notin($products)->exec(); - $oldProductKeys = array_keys($oldExecutionProducts); $needUpdate = array_merge(array_diff($oldProductKeys, $products), array_diff($products, $oldProductKeys)); if($needUpdate) $this->user->updateUserView($needUpdate, 'product', $members); @@ -1667,10 +1679,10 @@ class executionModel extends model if(empty($products)) return array(); $execution = $this->getById($toExecution); - $executions = $this->dao->select('t1.product, t1.execution')->from(TABLE_PROJECTPRODUCT)->alias('t1') - ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.execution=t2.id') + $executions = $this->dao->select('t1.product, t1.project')->from(TABLE_PROJECTPRODUCT)->alias('t1') + ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.project=t2.id') ->where('t1.product')->in(array_keys($products)) - ->andWhere('t2.execution')->eq($execution->execution) + ->andWhere('t2.project')->eq($execution->execution) ->fetchGroup('execution'); $branches = str_replace(',', "','", $branches); @@ -1769,7 +1781,7 @@ class executionModel extends model { $storyCount = $this->dao->select('count(t2.story) as storyCount')->from(TABLE_STORY)->alias('t1') ->leftJoin(TABLE_PROJECTSTORY)->alias('t2')->on('t1.id = t2.story') - ->where('t2.execution')->eq($executionID) + ->where('t2.project')->eq($executionID) ->andWhere('t1.deleted')->eq(0) ->fetch('storyCount'); @@ -2318,7 +2330,7 @@ class executionModel extends model { $teamMember = $this->dao->select('t1.id, t2.account')->from(TABLE_EXECUTION)->alias('t1') ->leftJoin(TABLE_TEAM)->alias('t2')->on('t1.id = t2.root') - ->where('t1.execution')->eq($sprint->execution) + ->where('t1.project')->eq($sprint->project) ->andWhere('t1.type')->eq($sprint->type) ->andWhere('t2.account')->eq($account) ->fetch(); @@ -2373,10 +2385,10 @@ class executionModel extends model ->orWhere('status')->eq('closed') ->groupBy('execution') ->fetchAll('execution'); - $storyPoints = $this->dao->select('t1.execution, sum(t2.estimate) AS `storyPoint`')->from(TABLE_PROJECTSTORY)->alias('t1') + $storyPoints = $this->dao->select('t1.project, sum(t2.estimate) AS `storyPoint`')->from(TABLE_PROJECTSTORY)->alias('t1') ->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id') ->leftJoin(TABLE_PRODUCT)->alias('t3')->on('t2.product = t3.id') - ->where('t1.execution')->in(array_keys($executions)) + ->where('t1.project')->in(array_keys($executions)) ->andWhere('t2.deleted')->eq(0) ->andWhere('t2.status')->ne('closed') ->andWhere('t2.stage')->in('wait,planned,executioned,developing') @@ -2803,7 +2815,7 @@ class executionModel extends model $this->config->bug->search['actionURL'] = $actionURL; $this->config->bug->search['queryID'] = $queryID; unset($this->config->bug->search['fields']['execution']); - $this->config->bug->search['params']['product']['values'] = $productPairs + array('all' => $this->lang->product->allProductsOfExecution); + $this->config->bug->search['params']['product']['values'] = $productPairs + array('all' => $this->lang->product->allProductsOfProject); $this->config->bug->search['params']['plan']['values'] = $this->loadModel('productplan')->getForProducts($products); $this->config->bug->search['params']['module']['values'] = $modules; $this->config->bug->search['params']['openedBuild']['values'] = $builds; @@ -2837,7 +2849,7 @@ class executionModel extends model { $this->config->execution->search['actionURL'] = $actionURL; $this->config->execution->search['queryID'] = $queryID; - $this->config->execution->search['params']['execution']['values'] = array(''=>'', $executionID => $executions[$executionID], 'all' => $this->lang->execution->allExecution); + $this->config->execution->search['params']['execution']['values'] = array(''=>'', $executionID => $executions[$executionID], 'all' => $this->lang->execution->allExecutions); $showAllModule = isset($this->config->execution->task->allModule) ? $this->config->execution->task->allModule : ''; $this->config->execution->search['params']['module']['values'] = $this->loadModel('tree')->getTaskOptionMenu($executionID, 0, 0, $showAllModule ? 'allModule' : ''); @@ -3152,7 +3164,7 @@ class executionModel extends model { $stories = $this->dao->select('t2.*, t1.version as taskVersion')->from(TABLE_PROJECTSTORY)->alias('t1') ->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id') - ->where('t1.execution')->eq((int)$executionID) + ->where('t1.project')->eq((int)$executionID) ->andWhere('t2.deleted')->eq(0) ->orderBy('t1.`order`_desc') ->fetchAll(); @@ -3435,7 +3447,7 @@ class executionModel extends model ->where('t1.type')->in('stage,sprint') ->andWhere('t2.account')->eq($this->app->user->account) ->beginIF(!$this->app->user->admin)->andWhere('t1.id')->in($this->app->user->view->sprints)->fi() - ->beginIF(!$this->app->user->admin)->andWhere('t1.execution')->in($this->app->user->view->executions)->fi() + ->beginIF(!$this->app->user->admin)->andWhere('t1.project')->in($this->app->user->view->projects)->fi() ->andWhere('t1.status')->ne('closed') ->andWhere('t1.deleted')->eq('0') ->orderBy('execution_desc, id_desc') @@ -3480,9 +3492,9 @@ class executionModel extends model */ public function getStageLinkProductPairs($stageIdList = array()) { - $productpairs = $this->dao->select('t1.execution, t2.name')->from(TABLE_PROJECTPRODUCT)->alias('t1') + $productpairs = $this->dao->select('t1.project, t2.name')->from(TABLE_PROJECTPRODUCT)->alias('t1') ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id') - ->where('t1.execution')->in($stageIdList) + ->where('t1.project')->in($stageIdList) ->fetchPairs('execution', 'name'); return $productpairs; } diff --git a/module/execution/view/edit.html.php b/module/execution/view/edit.html.php index 8c755eb903..9d6ca9c654 100644 --- a/module/execution/view/edit.html.php +++ b/module/execution/view/edit.html.php @@ -66,7 +66,7 @@ project->lifeTimeList, $execution->lifetime, "class='form-control' onchange='showLifeTimeTips()'"); + echo html::select('lifetime', $lang->execution->lifeTimeList, $execution->lifetime, "class='form-control' onchange='showLifeTimeTips()'"); } else { diff --git a/module/execution/view/view.html.php b/module/execution/view/view.html.php index 138b82f22c..c024d33a56 100644 --- a/module/execution/view/view.html.php +++ b/module/execution/view/view.html.php @@ -183,7 +183,7 @@ deleted):?> execution->deleted;?> - program->PRJLifeTimeList, $execution->lifetime);?> + execution->lifeTimeList, $execution->lifetime);?> delay)):?> execution->delayed;?> diff --git a/module/my/lang/de.php b/module/my/lang/de.php index 8fe5c7322d..96a3191569 100644 --- a/module/my/lang/de.php +++ b/module/my/lang/de.php @@ -14,7 +14,7 @@ $lang->my->testCase = 'Meine Fälle'; $lang->my->story = 'Meine Storys'; $lang->my->createProgram = 'Create Program'; $lang->my->project = "My Projects"; -$lang->my->execution = "My {$lang->execution->common}s"; +$lang->my->execution = "My {$lang->executionCommon}s"; $lang->my->issue = 'My Issues'; $lang->my->risk = 'My Risks'; $lang->my->profile = 'Meine Profil'; @@ -44,7 +44,7 @@ $lang->my->myExecutions = 'My Stage/Sprint/Iteration'; $lang->my->name = 'Name'; $lang->my->code = 'Code'; $lang->my->projects = 'Project'; -$lang->my->executions = "{$lang->execution->common}"; +$lang->my->executions = "{$lang->executionCommon}"; $lang->my->executionMenu = new stdclass(); $lang->my->executionMenu->undone = 'Undone'; diff --git a/module/my/lang/en.php b/module/my/lang/en.php index e245ffe90f..447f39eeef 100644 --- a/module/my/lang/en.php +++ b/module/my/lang/en.php @@ -14,7 +14,7 @@ $lang->my->testCase = 'My Cases'; $lang->my->story = 'My Stories'; $lang->my->createProgram = 'Create Program'; $lang->my->project = "My Projects"; -$lang->my->execution = "My {$lang->execution->common}s"; +$lang->my->execution = "My {$lang->executionCommon}s"; $lang->my->issue = 'My Issues'; $lang->my->risk = 'My Risks'; $lang->my->profile = 'My Profile'; @@ -44,7 +44,7 @@ $lang->my->myExecutions = "My Stage/Sprint/Iteration"; $lang->my->name = 'Name'; $lang->my->code = 'Code'; $lang->my->projects = 'Project'; -$lang->my->executions = $lang->execution->common; +$lang->my->executions = $lang->executionCommon; $lang->my->executionMenu = new stdclass(); $lang->my->executionMenu->undone = 'Undone'; diff --git a/module/my/lang/fr.php b/module/my/lang/fr.php index 1a2c5e6802..88f5d5a6ed 100644 --- a/module/my/lang/fr.php +++ b/module/my/lang/fr.php @@ -14,7 +14,7 @@ $lang->my->testCase = 'Mes CasTests'; $lang->my->story = 'Mes Stories'; $lang->my->createProgram = 'Create Program'; $lang->my->project = "My Projects"; -$lang->my->execution = "My {$lang->execution->common}s"; +$lang->my->execution = "My {$lang->executionCommon}s"; $lang->my->issue = 'My Issues'; $lang->my->risk = 'My Risks'; $lang->my->profile = 'Mon Profil'; @@ -44,7 +44,7 @@ $lang->my->myExecutions = 'My Stage/Sprint/Iteration'; $lang->my->name = 'Name'; $lang->my->code = 'Code'; $lang->my->projects = 'Project'; -$lang->my->executions = $lang->execution->common; +$lang->my->executions = $lang->executionCommon; $lang->my->executionMenu = new stdclass(); $lang->my->executionMenu->undone = 'Undone'; diff --git a/module/my/lang/vi.php b/module/my/lang/vi.php index 17c5c6ce69..3273bef746 100644 --- a/module/my/lang/vi.php +++ b/module/my/lang/vi.php @@ -14,7 +14,7 @@ $lang->my->testCase = 'Tình huống của bạn'; $lang->my->story = 'Câu chuyện của bạn'; $lang->my->createProgram = 'Create Program'; $lang->my->project = "My Projects"; -$lang->my->execution = "My {$lang->execution->common}s"; +$lang->my->execution = "My {$lang->executionCommon}s"; $lang->my->issue = 'My Issues'; $lang->my->risk = 'My Risks'; $lang->my->profile = 'Hồ sơ của bạn'; @@ -44,7 +44,7 @@ $lang->my->myExecutions = "My Stage/Sprint/Iteration"; $lang->my->name = 'Name'; $lang->my->code = 'Code'; $lang->my->projects = 'Project'; -$lang->my->executions = $lang->execution->common; +$lang->my->executions = $lang->executionCommon; $lang->my->executionMenu = new stdclass(); $lang->my->executionMenu->undone = 'Undone'; diff --git a/module/my/lang/zh-cn.php b/module/my/lang/zh-cn.php index 0d31b20d47..7c7948d8ea 100644 --- a/module/my/lang/zh-cn.php +++ b/module/my/lang/zh-cn.php @@ -14,7 +14,7 @@ $lang->my->testCase = '我的用例'; $lang->my->story = "我的{$lang->SRCommon}"; $lang->my->createProgram = '添加项目'; $lang->my->project = "我的项目"; -$lang->my->execution = "我的{$lang->execution->common}"; +$lang->my->execution = "我的{$lang->executionCommon}"; $lang->my->issue = '我的问题'; $lang->my->risk = '我的风险'; $lang->my->profile = '我的档案'; @@ -44,7 +44,7 @@ $lang->my->myExecutions = "我参与的阶段/冲刺/迭代"; $lang->my->name = '名称'; $lang->my->code = '代号'; $lang->my->projects = '所属项目'; -$lang->my->executions = '所属' . $lang->execution->common; +$lang->my->executions = '所属' . $lang->executionCommon; $lang->my->executionMenu = new stdclass(); $lang->my->executionMenu->undone = '未结束'; diff --git a/module/my/lang/zh-tw.php b/module/my/lang/zh-tw.php index 68e23bf9ef..e8d1e96b65 100644 --- a/module/my/lang/zh-tw.php +++ b/module/my/lang/zh-tw.php @@ -14,7 +14,7 @@ $lang->my->testCase = '我的用例'; $lang->my->story = "我的{$lang->SRCommon}"; $lang->my->createProgram = '添加項目'; $lang->my->project = "我的項目"; -$lang->my->execution = "我的{$lang->execution->common}"; +$lang->my->execution = "我的{$lang->executionCommon}"; $lang->my->issue = '我的問題'; $lang->my->risk = '我的風險'; $lang->my->profile = '我的檔案'; @@ -44,7 +44,7 @@ $lang->my->myExecutions = "我參與的階段/衝刺/迭代"; $lang->my->name = '名稱'; $lang->my->code = '代號'; $lang->my->projects = '所屬項目'; -$lang->my->executions = '所屬' . $lang->execution->common; +$lang->my->executions = '所屬' . $lang->executionCommon; $lang->my->executionMenu = new stdclass(); $lang->my->executionMenu->undone = '未結束'; diff --git a/module/personnel/view/addwhitelist.html.php b/module/personnel/view/addwhitelist.html.php index 0302a91ac3..d306342ffb 100644 --- a/module/personnel/view/addwhitelist.html.php +++ b/module/personnel/view/addwhitelist.html.php @@ -16,8 +16,8 @@ diff --git a/module/report/view/bugcreate.html.php b/module/report/view/bugcreate.html.php index 5bf127299b..01352a80dc 100644 --- a/module/report/view/bugcreate.html.php +++ b/module/report/view/bugcreate.html.php @@ -23,7 +23,7 @@
- execution->common;?> + executionCommon;?>
diff --git a/module/search/lang/de.php b/module/search/lang/de.php index 9a77a33387..7edf04ba22 100644 --- a/module/search/lang/de.php +++ b/module/search/lang/de.php @@ -87,12 +87,12 @@ $lang->search->modules['testreport'] = 'Testing Report'; $lang->search->modules['productplan'] = 'Plan'; $lang->search->modules['program'] = 'Program'; $lang->search->modules['project'] = 'Project'; -$lang->search->modules['execution'] = $lang->execution->common; +$lang->search->modules['execution'] = 'Execution'; $lang->search->modules['story'] = 'Story'; $lang->search->objectTypeList['story'] = $lang->SRCommon; $lang->search->objectTypeList['requirement'] = $lang->URCommon; -$lang->search->objectTypeList['stage'] = $lang->execution->stage; +$lang->search->objectTypeList['stage'] = 'stage'; $lang->search->objectTypeList['sprint'] = $lang->executionCommon; $lang->search->objectTypeList['commonIssue'] = 'Issue'; $lang->search->objectTypeList['stakeholderIssue'] = 'Stakeholder Issue'; diff --git a/module/search/lang/en.php b/module/search/lang/en.php index 966ac0d437..f9d5893f00 100644 --- a/module/search/lang/en.php +++ b/module/search/lang/en.php @@ -87,12 +87,12 @@ $lang->search->modules['testreport'] = 'Testing Report'; $lang->search->modules['productplan'] = 'Plan'; $lang->search->modules['program'] = 'Program'; $lang->search->modules['project'] = 'Project'; -$lang->search->modules['execution'] = $lang->execution->common; +$lang->search->modules['execution'] = 'Execution'; $lang->search->modules['story'] = 'Story'; $lang->search->objectTypeList['story'] = $lang->SRCommon; $lang->search->objectTypeList['requirement'] = $lang->URCommon; -$lang->search->objectTypeList['stage'] = $lang->execution->stage; +$lang->search->objectTypeList['stage'] = 'stage'; $lang->search->objectTypeList['sprint'] = $lang->executionCommon; $lang->search->objectTypeList['commonIssue'] = 'Issue'; $lang->search->objectTypeList['stakeholderIssue'] = 'Stakeholder Issue'; diff --git a/module/search/lang/fr.php b/module/search/lang/fr.php index ff7c7bd953..0940a44cf7 100644 --- a/module/search/lang/fr.php +++ b/module/search/lang/fr.php @@ -87,12 +87,12 @@ $lang->search->modules['testreport'] = 'Testing Report'; $lang->search->modules['productplan'] = 'Plan'; $lang->search->modules['program'] = 'Program'; $lang->search->modules['project'] = 'Project'; -$lang->search->modules['execution'] = $lang->execution->common; +$lang->search->modules['execution'] = 'Execution'; $lang->search->modules['story'] = 'Story'; $lang->search->objectTypeList['story'] = $lang->SRCommon; $lang->search->objectTypeList['requirement'] = $lang->URCommon; -$lang->search->objectTypeList['stage'] = $lang->execution->stage; +$lang->search->objectTypeList['stage'] = 'stage'; $lang->search->objectTypeList['sprint'] = $lang->executionCommon; $lang->search->objectTypeList['commonIssue'] = 'Issue'; $lang->search->objectTypeList['stakeholderIssue'] = 'Stakeholder Issue'; diff --git a/module/search/lang/vi.php b/module/search/lang/vi.php index 80e5c14540..26810c39f7 100644 --- a/module/search/lang/vi.php +++ b/module/search/lang/vi.php @@ -87,12 +87,12 @@ $lang->search->modules['testreport'] = 'Báo cáo Test'; $lang->search->modules['productplan'] = 'Kế hoạch'; $lang->search->modules['program'] = 'Program'; $lang->search->modules['project'] = 'Project'; -$lang->search->modules['execution'] = $lang->execution->common; +$lang->search->modules['execution'] = 'Execution'; $lang->search->modules['story'] = 'Story'; $lang->search->objectTypeList['story'] = $lang->SRCommon; $lang->search->objectTypeList['requirement'] = $lang->URCommon; -$lang->search->objectTypeList['stage'] = $lang->execution->stage; +$lang->search->objectTypeList['stage'] = 'stage'; $lang->search->objectTypeList['sprint'] = $lang->executionCommon; $lang->search->objectTypeList['commonIssue'] = 'Issue'; $lang->search->objectTypeList['stakeholderIssue'] = 'Stakeholder Issue'; diff --git a/module/search/lang/zh-cn.php b/module/search/lang/zh-cn.php index 13d19f61b9..b4a236692f 100644 --- a/module/search/lang/zh-cn.php +++ b/module/search/lang/zh-cn.php @@ -87,12 +87,12 @@ $lang->search->modules['testreport'] = '报告'; $lang->search->modules['productplan'] = '计划'; $lang->search->modules['program'] = '项目集'; $lang->search->modules['project'] = '项目'; -$lang->search->modules['execution'] = $lang->execution->common; +$lang->search->modules['execution'] = '执行'; $lang->search->modules['story'] = '需求'; $lang->search->objectTypeList['story'] = $lang->SRCommon; $lang->search->objectTypeList['requirement'] = $lang->URCommon; -$lang->search->objectTypeList['stage'] = $lang->execution->stage; +$lang->search->objectTypeList['stage'] = '阶段'; $lang->search->objectTypeList['sprint'] = $lang->executionCommon; $lang->search->objectTypeList['commonIssue'] = '问题'; $lang->search->objectTypeList['stakeholderIssue'] = '干系人问题'; diff --git a/module/search/lang/zh-tw.php b/module/search/lang/zh-tw.php index 1cb64283b7..3bee72f868 100644 --- a/module/search/lang/zh-tw.php +++ b/module/search/lang/zh-tw.php @@ -87,7 +87,7 @@ $lang->search->modules['testreport'] = '報告'; $lang->search->modules['productplan'] = '計劃'; $lang->search->modules['program'] = '項目集'; $lang->search->modules['project'] = '項目'; -$lang->search->modules['execution'] = $lang->execution->common; +$lang->search->modules['execution'] = $lang->executionCommon; $lang->search->modules['story'] = '需求'; $lang->search->modules['issue'] = '問題'; $lang->search->modules['risk'] = '風險'; diff --git a/module/testtask/model.php b/module/testtask/model.php index 61026157bf..539500fd0c 100644 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -284,7 +284,7 @@ class testtaskModel extends model return $this->dao->select('t1.*, t2.name AS buildName') ->from(TABLE_TESTTASK)->alias('t1') ->leftJoin(TABLE_BUILD)->alias('t2')->on('t1.build = t2.id') - ->where('t1.execution')->eq((int)$execution) + ->where('t1.execution')->eq((int)$executionID) ->andWhere('t1.auto')->ne('unit') ->andWhere('t1.deleted')->eq(0) ->orderBy($orderBy) From 4158cec2aea6f2aa2aeb8926709c84aeff52ba51 Mon Sep 17 00:00:00 2001 From: qiyu-xie Date: Tue, 9 Mar 2021 10:05:55 +0800 Subject: [PATCH 07/15] * Finish task#36471. --- module/productplan/view/linkstory.html.php | 2 +- module/productplan/view/view.html.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/module/productplan/view/linkstory.html.php b/module/productplan/view/linkstory.html.php index 28fb01cc95..940ebdf9a8 100644 --- a/module/productplan/view/linkstory.html.php +++ b/module/productplan/view/linkstory.html.php @@ -50,7 +50,7 @@ module];?> parent > 0) echo "{$lang->story->childrenAB}"; + if($story->parent > 0) echo "story->children}>{$lang->story->childrenAB}"; echo html::a($this->createLink('story', 'view', "storyID=$story->id", '', true), $story->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'"); ?> diff --git a/module/productplan/view/view.html.php b/module/productplan/view/view.html.php index e13a32c3fc..6a24c90f64 100644 --- a/module/productplan/view/view.html.php +++ b/module/productplan/view/view.html.php @@ -148,7 +148,7 @@ module, '');?> parent > 0) echo "{$lang->story->childrenAB}"; + if($story->parent > 0) echo "story->children}>{$lang->story->childrenAB}"; echo html::a($viewLink , $story->title); ?> From 276683652263a0f1ab07acbe270ba4f2cf154cac Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Tue, 9 Mar 2021 10:07:23 +0800 Subject: [PATCH 08/15] * Fix an error. --- module/common/lang/menuOrder.php | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/module/common/lang/menuOrder.php b/module/common/lang/menuOrder.php index 946f4b2e75..6c78346a1e 100644 --- a/module/common/lang/menuOrder.php +++ b/module/common/lang/menuOrder.php @@ -60,12 +60,7 @@ $lang->my->menuOrder[55] = 'contacts'; $lang->todo->menuOrder = $lang->my->menuOrder; /* product menu order. */ -<<<<<<< HEAD -$lang->product->menuOrder[1] = 'dashboard'; -$lang->product->menuOrder[5] = 'requirement'; -======= $lang->product->menuOrder[5] = 'dashboard'; ->>>>>>> f6bc489e36d6d6f13c214a30e0fea2f6d3bceeed $lang->product->menuOrder[10] = 'story'; $lang->product->menuOrder[15] = 'plan'; $lang->product->menuOrder[30] = 'project'; @@ -74,17 +69,10 @@ $lang->product->menuOrder[25] = 'roadmap'; $lang->product->menuOrder[30] = 'requirement'; $lang->product->menuOrder[35] = 'track'; $lang->product->menuOrder[40] = 'doc'; -<<<<<<< HEAD $lang->product->menuOrder[45] = 'dynamic'; $lang->product->menuOrder[50] = 'setting'; $lang->product->menuOrder[55] = 'create'; $lang->product->menuOrder[60] = 'all'; -======= -$lang->product->menuOrder[50] = 'dynamic'; -$lang->product->menuOrder[55] = 'setting'; -$lang->product->menuOrder[60] = 'create'; -$lang->product->menuOrder[65] = 'all'; ->>>>>>> f6bc489e36d6d6f13c214a30e0fea2f6d3bceeed $lang->story->menuOrder = $lang->product->menuOrder; $lang->productplan->menuOrder = $lang->product->menuOrder; From 5b6dc5cee474b78521218fabf86735fcb4ea66e2 Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Tue, 9 Mar 2021 10:30:10 +0800 Subject: [PATCH 09/15] * Finish task #36434. --- module/custom/view/header.html.php | 1 + 1 file changed, 1 insertion(+) diff --git a/module/custom/view/header.html.php b/module/custom/view/header.html.php index 2e24bc09e3..6d42524884 100644 --- a/module/custom/view/header.html.php +++ b/module/custom/view/header.html.php @@ -4,6 +4,7 @@ custom->object as $object => $name) { + if(strpos('story|todo|block', $object) !== false) echo ""; if(strpos('execution|product', $object) !== false) common::printLink('custom', $object, "", "{$lang->custom->$object}", '', "class='btn btn-link' id='{$object}Tab'"); if(strpos('execution|product', $object) === false) common::printLink('custom', 'set', "module=$object&field=" . key($lang->custom->{$object}->fields), "{$name}", '', "class='btn btn-link' id='{$object}Tab'"); } From f818396a252be53305db00cd822855cfe2dcee8e Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Tue, 9 Mar 2021 10:39:52 +0800 Subject: [PATCH 10/15] * Fix bug. --- module/common/model.php | 27 +++++++++++++++++---------- module/project/control.php | 1 + 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/module/common/model.php b/module/common/model.php index 864194139f..7a3e937e6d 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -452,13 +452,13 @@ class commonModel extends model } /** - * Init submenu for program menu. + * Init submenu for project menu. * * @static * @access public * @return array */ - public static function initProgramSubmenu() + public static function initProjectSubmenu() { global $lang, $app; $moduleName = $app->getModuleName(); @@ -2369,7 +2369,14 @@ EOD; } if($group == 'project') { - $lang->menu = $config->systemMode == 'new' ? self::getProgramMainMenu($moduleName) : $lang->project->menu; + if($config->systemMode == 'classic' or $methodName == 'browse') + { + $lang->menu = $lang->project->menu; + } + else + { + $lang->menu = self::getProjectMainMenu($moduleName); + } } } @@ -2409,21 +2416,21 @@ EOD; } /** - * Get program main menu by model. + * Get project main menu by model. * * @param string $moduleName * @static * @access public * @return string */ - public static function getProgramMainMenu($moduleName) + public static function getProjectMainMenu($moduleName) { global $app, $lang, $dbh, $config; - $program = $dbh->query("SELECT * FROM " . TABLE_PROGRAM . " WHERE `id` = '{$app->session->project}'")->fetch(); - if(empty($program)) return; + $project = $dbh->query("SELECT * FROM " . TABLE_PROJECT . " WHERE `id` = '{$app->session->project}'")->fetch(); + if(empty($project)) return; - self::initProgramSubmenu(); - if($program->model == 'scrum') + self::initProjectSubmenu(); + if($project->model == 'scrum') { $lang->menuOrder = $lang->scrum->menuOrder; @@ -2432,7 +2439,7 @@ EOD; return self::processMenuVars($lang->menu->scrum); } - if($program->model == 'waterfall') + if($project->model == 'waterfall') { $lang->project->dividerMenu = str_replace(',project,', ',', $lang->project->dividerMenu); $lang->release->menu = new stdclass(); diff --git a/module/project/control.php b/module/project/control.php index 7fc081e506..0841012818 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -198,6 +198,7 @@ class project extends control */ public function browse($programID = 0, $browseType = 'doing', $param = 0, $orderBy = 'order_desc', $recTotal = 0, $recPerPage = 15, $pageID = 1) { + $this->lang->noMenuModule[] = 'project'; if($this->session->moreProjectLink) $this->lang->project->mainMenuAction = html::a($this->session->moreProjectLink, ' ' . $this->lang->goback, '', "class='btn btn-link'"); $this->app->session->set('projectBrowse', $this->app->getURI(true)); $this->loadModel('datatable'); From acad687e685cf06ad419def0496aa21bcf9ed55e Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Tue, 9 Mar 2021 11:18:08 +0800 Subject: [PATCH 11/15] * Fix project block. --- module/block/control.php | 30 ++++++++++++------------- module/block/view/projectblock.html.php | 20 ++++++++--------- module/project/model.php | 2 +- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/module/block/control.php b/module/block/control.php index 5cc5201c0b..ca5f15c683 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -640,7 +640,7 @@ class block extends control ->andWhere('t3.status')->ne('done') ->andWhere('t3.deleted')->eq(0) ->andWhere('t2.deleted')->eq(0) - ->beginIF($projectID)->andWhere('t2.PRJ')->eq($projectID)->fi() + ->beginIF($projectID)->andWhere('t2.project')->eq($projectID)->fi() ->orderBy($this->params->orderBy) ->beginIF($this->viewType != 'json')->limit((int)$this->params->count)->fi() ->fetchAll(); @@ -649,7 +649,7 @@ class block extends control { $cases = $this->dao->findByOpenedBy($this->app->user->account)->from(TABLE_CASE) ->andWhere('deleted')->eq(0) - ->beginIF($projectID)->andWhere('PRJ')->eq($projectID)->fi() + ->beginIF($projectID)->andWhere('project')->eq($projectID)->fi() ->orderBy($this->params->orderBy) ->beginIF($this->viewType != 'json')->limit((int)$this->params->count)->fi() ->fetchAll(); @@ -679,7 +679,7 @@ class block extends control ->leftJoin(TABLE_PROJECT)->alias('t4')->on('t1.project=t4.id') ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t5')->on('t1.project=t5.project') ->where('t1.deleted')->eq('0') - ->beginIF($projectID)->andWhere('t1.PRJ')->eq($projectID)->fi() + ->beginIF($projectID)->andWhere('t1.project')->eq($projectID)->fi() ->beginIF(!$this->app->user->admin)->andWhere('t1.product')->in($this->app->user->view->products)->fi() ->andWhere('t1.product = t5.product') ->beginIF($this->params->type != 'all')->andWhere('t1.status')->eq($this->params->type)->fi() @@ -740,7 +740,7 @@ class block extends control ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id') ->leftJoin(TABLE_BUILD)->alias('t3')->on('t1.build=t3.id') ->where('t1.deleted')->eq('0') - ->beginIF($this->view->block->module != 'my' and $this->session->project)->andWhere('t1.PRJ')->eq((int)$this->session->project)->fi() + ->beginIF($this->view->block->module != 'my' and $this->session->project)->andWhere('t1.project')->eq((int)$this->session->project)->fi() ->beginIF(!$this->app->user->admin)->andWhere('t1.product')->in($this->app->user->view->products)->fi() ->orderBy('t1.id desc') ->beginIF($this->viewType != 'json')->limit((int)$this->params->count)->fi() @@ -761,7 +761,7 @@ class block extends control ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id') ->where('t1.deleted')->eq('0') ->beginIF(!$this->app->user->admin)->andWhere('t1.project')->in($this->app->user->view->projects)->fi() - ->beginIF($this->view->block->module != 'my' and $this->session->project)->andWhere('t1.PRJ')->eq((int)$this->session->project)->fi() + ->beginIF($this->view->block->module != 'my' and $this->session->project)->andWhere('t1.project')->eq((int)$this->session->project)->fi() ->orderBy('t1.id desc') ->beginIF($this->viewType != 'json')->limit((int)$this->params->count)->fi() ->fetchAll(); @@ -857,15 +857,15 @@ class block extends control $today = helper::today(); if(isset($this->config->maxVersion)) $monday = date('Ymd', strtotime($this->loadModel('weekly')->getThisMonday($today))); - $tasks = $this->dao->select("PRJ, + $tasks = $this->dao->select("project, sum(consumed) as totalConsumed, sum(if(status != 'cancel' and status != 'closed', `left`, 0)) as totalLeft") ->from(TABLE_TASK) - ->where('PRJ')->in(array_keys($projects)) + ->where('project')->in(array_keys($projects)) ->andWhere('deleted')->eq(0) ->andWhere('parent')->lt(1) - ->groupBy('PRJ') - ->fetchAll('PRJ'); + ->groupBy('project') + ->fetchAll('project'); foreach($projects as $projectID => $project) { @@ -1176,7 +1176,7 @@ class block extends control $task = $this->dao->select(" sum(consumed) as totalConsumed, sum(if(status != 'cancel' and status != 'closed', `left`, 0)) as totalLeft") - ->from(TABLE_TASK)->where('PRJ')->eq($this->session->project) + ->from(TABLE_TASK)->where('project')->eq($this->session->project) ->andWhere('deleted')->eq(0) ->andWhere('parent')->lt(1) ->fetch(); @@ -1251,9 +1251,9 @@ class block extends control $budget = $this->loadModel('workestimation')->getBudget($projectID); if(empty($budget)) $budget = new stdclass(); - $this->view->people = $this->dao->select('sum(people) as people')->from(TABLE_DURATIONESTIMATION)->where('PRJ')->eq($this->session->project)->fetch('people'); + $this->view->people = $this->dao->select('sum(people) as people')->from(TABLE_DURATIONESTIMATION)->where('project')->eq($this->session->project)->fetch('people'); $this->view->members = count($members) ? count($members) - 1 : 0; - $this->view->consumed = $this->dao->select('sum(cast(consumed as decimal(10,2))) as consumed')->from(TABLE_TASK)->where('PRJ')->eq($projectID)->andWhere('deleted')->eq(0)->andWhere('parent')->lt(1)->fetch('consumed'); + $this->view->consumed = $this->dao->select('sum(cast(consumed as decimal(10,2))) as consumed')->from(TABLE_TASK)->where('project')->eq($projectID)->andWhere('deleted')->eq(0)->andWhere('parent')->lt(1)->fetch('consumed'); $this->view->budget = $budget; } @@ -1461,7 +1461,7 @@ class block extends control ->leftJoin(TABLE_PROJECT)->alias('t4')->on('t1.project=t4.id') ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t5')->on('t1.project=t5.project') ->where('t1.deleted')->eq('0') - ->andWhere('t1.PRJ')->eq($this->session->project)->fi() + ->andWhere('t1.project')->eq($this->session->project)->fi() ->andWhere('t1.product = t5.product') ->beginIF($status != 'all')->andWhere('t1.status')->eq($status)->fi() ->orderBy('t1.id desc') @@ -1620,7 +1620,7 @@ class block extends control { $casePairs = $this->dao->select('lastRunResult, COUNT(*) AS count')->from(TABLE_CASE) ->where('1=1') - ->beginIF($this->view->block->module != 'my' and $this->session->project)->andWhere('PRJ')->eq((int)$this->session->project)->fi() + ->beginIF($this->view->block->module != 'my' and $this->session->project)->andWhere('project')->eq((int)$this->session->project)->fi() ->groupBy('lastRunResult') ->fetchPairs(); @@ -1658,7 +1658,7 @@ class block extends control $pager = pager::init(0, $count, 1); $projectID = $this->view->block->module == 'my' ? 0 : (int)$this->session->project; - $this->view->executionStats = $this->loadModel('execution')->getStats($projectID, $status, 0, 0, 30, 'id_asc', $pager); + $this->view->executionStats = $this->loadModel('project')->getStats($projectID, $status, 0, 0, 30, 'id_asc', $pager); } /** diff --git a/module/block/view/projectblock.html.php b/module/block/view/projectblock.html.php index 711b5fa8e5..6ab7f38894 100644 --- a/module/block/view/projectblock.html.php +++ b/module/block/view/projectblock.html.php @@ -22,13 +22,13 @@ statusAB;?> - project->totalEstimate;?> - project->totalConsumed;?> - project->totalLeft;?> + execution->totalEstimate;?> + execution->totalConsumed;?> + execution->totalLeft;?> project->progress;?> - project->burn;?> + execution->burn;?> @@ -37,23 +37,23 @@ get->entry}'" : "class='text-center'"; - $viewLink = $this->createLink('project', 'task', 'project=' . $execution->id); + $viewLink = $this->createLink('execution', 'task', 'execution=' . $execution->id); ?> > - createLink('project', 'task', 'project=' . $execution->id), $execution->name, '', "title='$execution->name'");?> + createLink('execution', 'task', 'execution=' . $execution->id), $execution->name, '', "title='$execution->name'");?> end;?> delay)):?> - project->delayed;?> + execution->delayed;?> processStatus('project', $execution);?> - hours->totalEstimate . ' ' . $lang->project->workHourUnit;?> - hours->totalConsumed . ' ' . $lang->project->workHourUnit;?> - hours->totalLeft . ' ' . $lang->project->workHourUnit;?> + hours->totalEstimate . ' ' . $lang->execution->workHourUnit;?> + hours->totalConsumed . ' ' . $lang->execution->workHourUnit;?> + hours->totalLeft . ' ' . $lang->execution->workHourUnit;?>
diff --git a/module/project/model.php b/module/project/model.php index a4170a3a19..8538127fe7 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -1344,7 +1344,7 @@ class projectModel extends model $begin = $executions[$executionID]->begin; $end = $executions[$executionID]->end; if(helper::isZeroDate($begin)) $begin = $executions[$executionID]->openedDate; - $executionBurns = $this->processBurnData($executionBurns, $itemCounts, $begin, $end); + $executionBurns = $this->loadModel('execution')->processBurnData($executionBurns, $itemCounts, $begin, $end); /* Shorter names. */ foreach($executionBurns as $executionBurn) From 523a414eed67f9361bf09aa95fa3cec3740e70d2 Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Tue, 9 Mar 2021 11:26:07 +0800 Subject: [PATCH 12/15] * Finish task #36477. --- module/execution/control.php | 4 ++-- module/execution/view/dynamic.html.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/module/execution/control.php b/module/execution/control.php index f230a8aa9f..a03498b20d 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -2353,12 +2353,12 @@ class execution extends control public function dynamic($executionID = 0, $type = 'today', $param = '', $recTotal = 0, $date = '', $direction = 'next') { /* Save session. */ - $uri = $this->app->getURI(true); + $uri = $this->app->getURI(true); $this->session->set('productList', $uri); $this->session->set('productPlanList', $uri); $this->session->set('releaseList', $uri); $this->session->set('storyList', $uri); - $this->session->set('executionList', $uri); + $this->session->set('executionList', $uri); $this->session->set('taskList', $uri); $this->session->set('buildList', $uri); $this->session->set('bugList', $uri); diff --git a/module/execution/view/dynamic.html.php b/module/execution/view/dynamic.html.php index f559f130f0..488962a9be 100755 --- a/module/execution/view/dynamic.html.php +++ b/module/execution/view/dynamic.html.php @@ -47,8 +47,8 @@ foreach($userIdPairs as $userID => $name) { if(!$userID) continue; - $searchKey = $withSearch ? ('data-key="' . zget($usersPinYin, $userID, '') . '"') : ''; - echo html::a($this->createLink('execution', 'dynamic', "productID=$executionID&type=account¶m=$userID"), $name); + $searchKey = $withSearch ? ('data-key="' . zget($usersPinYin, $name, '') . '"') : ''; + echo html::a($this->createLink('execution', 'dynamic', "productID=$executionID&type=account¶m=$userID"), $name, '', $searchKey); } ?>
From 73380996ffe2a9f8161604e845ff11094481be96 Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Tue, 9 Mar 2021 11:29:28 +0800 Subject: [PATCH 13/15] * Finish task #36476. --- module/execution/control.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module/execution/control.php b/module/execution/control.php index fac59d2ded..28c6cef915 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -2403,8 +2403,8 @@ class execution extends control $this->view->position[] = html::a($this->createLink('execution', 'browse', "executionID=$executionID"), $execution->name); $this->view->position[] = $this->lang->execution->dynamic; - $this->view->userIdPairs = $this->loadModel('user')->getPairs('noletter|nodeleted|useid'); - $this->view->accountPairs = $this->user->getPairs('noletter|nodeleted'); + $this->view->userIdPairs = $this->execution->getTeamMemberPairs($executionID, 'nodeleted|useid'); + $this->view->accountPairs = $this->loadModel('user')->getPairs('noletter|nodeleted'); /* Assign. */ $this->view->executionID = $executionID; From 44b04fbe18eca3dc9f61a0fed507a7e39fbab577 Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Tue, 9 Mar 2021 11:34:20 +0800 Subject: [PATCH 14/15] * Finish task #36462. --- module/product/view/ajaxgetdropmenu.html.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/module/product/view/ajaxgetdropmenu.html.php b/module/product/view/ajaxgetdropmenu.html.php index 015bcf96de..5921419c2f 100644 --- a/module/product/view/ajaxgetdropmenu.html.php +++ b/module/product/view/ajaxgetdropmenu.html.php @@ -27,19 +27,19 @@ foreach($products as $product) { $objectID = ($product->type != 'platform' && $module == 'branch' && $method == 'manage') ? $productID : $product->id; $linkHtml = $this->product->setParamsForLink($module, $link, $projectID, $product->id); - $myProductsHtml .= html::a($linkHtml, html::icon($lang->icons['product']) . ' ' . $productName, '', "class='text-important' title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='$openApp'"); + $myProductsHtml .= html::a($linkHtml, $productName, '', "class='text-important' title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='$openApp'"); } else if($product->status == 'normal' and !($product->PO == $this->app->user->account)) { $objectID = ($product->type != 'platform' && $module == 'branch' && $method == 'manage') ? $productID : $product->id; $linkHtml = $this->product->setParamsForLink($module, $link, $projectID, $product->id); - $normalProductsHtml .= html::a($linkHtml, html::icon($lang->icons['product']) . ' ' . $productName, '', "title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='$openApp'"); + $normalProductsHtml .= html::a($linkHtml, $productName, '', "title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='$openApp'"); } else if($product->status == 'closed') { $objectID = ($product->type != 'platform' && $module == 'branch' && $method == 'manage') ? $productID : $product->id; $linkHtml = $this->product->setParamsForLink($module, $link, $projectID, $objectID); - $closedProductsHtml .= html::a($linkHtml, html::icon($lang->icons['product']) . ' ' . $productName, '', "title='{$productName}' class='closed' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='$openApp'"); + $closedProductsHtml .= html::a($linkHtml, $productName, '', "title='{$productName}' class='closed' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='$openApp'"); } } ?> From 86b18553a7cadd45ff435659b2b3dfcb62cbb77b Mon Sep 17 00:00:00 2001 From: leiyong <1549684884@qq.com> Date: Tue, 9 Mar 2021 12:30:23 +0800 Subject: [PATCH 15/15] * Adjust block module code. --- module/action/model.php | 1 + module/block/control.php | 56 ++-- module/block/lang/zh-cn.php | 301 +++++++++--------- module/block/model.php | 10 +- module/block/view/bugblock.html.php | 2 +- module/block/view/executionblock.html.php | 73 +++++ ...ml.php => executionoverviewblock.html.php} | 4 +- ...l.php => executionstatisticblock.html.php} | 193 +++++------ ...k.html.php => executionteamblock.html.php} | 13 +- module/block/view/programblock.html.php | 50 --- module/block/view/projectblock.html.php | 93 ++---- .../block/view/projectstatisticblock.html.php | 193 ++++++----- module/block/view/projectteamblock.html.php | 13 +- module/block/view/scrumlistblock.html.php | 22 +- module/block/view/scrumoverviewblock.html.php | 8 +- module/block/view/sprintblock.html.php | 6 +- module/block/view/taskblock.html.php | 4 +- module/execution/lang/zh-cn.php | 3 +- module/execution/model.php | 7 +- module/project/model.php | 3 +- module/todo/model.php | 9 +- 21 files changed, 533 insertions(+), 531 deletions(-) create mode 100644 module/block/view/executionblock.html.php rename module/block/view/{projectoverviewblock.html.php => executionoverviewblock.html.php} (86%) rename module/block/view/{programstatisticblock.html.php => executionstatisticblock.html.php} (52%) rename module/block/view/{programteamblock.html.php => executionteamblock.html.php} (80%) delete mode 100644 module/block/view/programblock.html.php diff --git a/module/action/model.php b/module/action/model.php index b5d66c8a55..abf3a1fd64 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -396,6 +396,7 @@ class actionModel extends model } elseif(($actionName == 'opened' or $actionName == 'managed' or $actionName == 'edited') and ($objectType == 'execution' || $objectType == 'project')) { + $this->app->loadLang('executon'); $linkedProducts = $this->dao->select('id,name')->from(TABLE_PRODUCT)->where('id')->in($action->extra)->fetchPairs('id', 'name'); $action->extra = ''; if($linkedProducts) diff --git a/module/block/control.php b/module/block/control.php index ca5f15c683..86e867339e 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -213,17 +213,17 @@ class block extends control $blocks = $this->block->getBlockList($module, $type); $commonField = 'common'; - if($module == 'program') + if($module == 'project') { - $program = $this->loadModel('project')->getByID($this->session->project); - $commonField = $program->model . 'common'; + $project = $this->loadModel('project')->getByID($this->session->project); + $commonField = $project->model . 'common'; } /* Replace the block Title saved in the database. */ - if($module == 'project') + if($module == 'execution') { $projectBlock = array(); - foreach($this->lang->block->default['project'] as $block) $projectBlock[$block['block']] = $block['title']; + foreach($this->lang->block->default['execution'] as $block) $projectBlock[$block['block']] = $block['title']; foreach($blocks as $block) $block->title = $projectBlock[$block->block]; } @@ -245,7 +245,7 @@ class block extends control continue; } - $block->params = json_decode($block->params); + $block->params = json_decode($block->params); if(isset($block->params->num) and !isset($block->params->count)) $block->params->count = $block->params->num; $blockID = $block->block; @@ -436,17 +436,17 @@ class block extends control $dashboard = $this->get->dashboard; /* Create a project block. */ - if($dashboard == 'program') + if($dashboard == 'project') { $project = $this->loadModel('project')->getByID($this->session->project); $model = $project->model; } /* Edit a project block. */ - if($id and $block->module == 'program') + if($id and $block->module == 'project') { $model = $block->type; - $dashboard = 'program'; + $dashboard = 'project'; } $blocks = $this->block->getAvailableBlocks($module, $dashboard, $model); @@ -757,7 +757,8 @@ class block extends control { $this->session->set('buildList', $this->app->getURI(true)); $this->app->loadLang('build'); - $this->view->builds = $this->dao->select('t1.*, t2.name as productName')->from(TABLE_BUILD)->alias('t1') + + $builds = $this->dao->select('t1.*, t2.name as productName')->from(TABLE_BUILD)->alias('t1') ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id') ->where('t1.deleted')->eq('0') ->beginIF(!$this->app->user->admin)->andWhere('t1.project')->in($this->app->user->view->projects)->fi() @@ -765,6 +766,7 @@ class block extends control ->orderBy('t1.id desc') ->beginIF($this->viewType != 'json')->limit((int)$this->params->count)->fi() ->fetchAll(); + $this->view->builds = $builds; } /** @@ -773,9 +775,9 @@ class block extends control * @access public * @return void */ - public function printProgramBlock() + public function printProjectBlock() { - $this->app->loadLang('project'); + $this->app->loadLang('execution'); $this->app->loadLang('task'); $count = isset($this->params->count) ? $this->params->count : 15; $type = isset($this->params->type) ? $this->params->type : 'all'; @@ -833,7 +835,7 @@ class block extends control * @access public * @return void */ - public function printProgramStatisticBlock() + public function printProjectStatisticBlock() { if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die(); @@ -872,7 +874,7 @@ class block extends control if($project->model == 'scrum') { $project->progress = $project->allStories == 0 ? 0 : round($project->doneStories / $project->allStories, 3) * 100; - $project->executions = $this->loadModel('execution')->getStats($projectID, 'all', 0, 0, 30, 'id_asc'); + $project->executions = $this->project->getStats($projectID, 'all', 0, 0, 30, 'id_asc'); } elseif($project->model == 'waterfall' and isset($this->config->maxVersion)) { @@ -1034,7 +1036,7 @@ class block extends control * @access public * @return void */ - public function printProjectStatisticBlock() + public function printExecutionStatisticBlock() { if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die(); @@ -1305,6 +1307,7 @@ class block extends control public function printScrumOverviewBlock() { $projectID = $this->session->project; + $this->app->loadLang('execution'); $totalData = $this->loadModel('project')->getOverviewList('byId', $projectID, 'id_desc', 1); $this->view->totalData = $totalData; @@ -1319,12 +1322,14 @@ class block extends control */ public function printScrumListBlock() { - $this->app->loadClass('pager', $static = true); if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die(); $count = isset($this->params->count) ? (int)$this->params->count : 15; $type = isset($this->params->type) ? $this->params->type : 'all'; + + $this->app->loadClass('pager', $static = true); $pager = pager::init(0, $count, 1); - $this->view->executionStats = $this->loadModel('execution')->getStats($this->session->project, $type, 0, 0, 30, 'id_desc', $pager); + $this->app->loadLang('execution'); + $this->view->executionStats = $this->loadModel('project')->getStats($this->session->project, $type, 0, 0, 30, 'id_desc', $pager); } /** @@ -1394,15 +1399,15 @@ class block extends control { $projectID = $this->session->project; - $executions = $this->loadModel('project')->getExecutionPairs($projectID); + $executions = $this->loadModel('execution')->getPairs($projectID); $products = $this->loadModel('product')->getProductPairsByProject($projectID); $count = isset($this->params->count) ? (int)$this->params->count : 10; $actions = array(); $actions = $this->dao->select('*')->from(TABLE_ACTION) - ->where('project')->eq($projectID) - ->beginIF(!empty($executions))->markLeft()->orWhere('project')->in(array_keys($executions))->fi()->markRight() - ->beginIF(!empty($products))->markLeft()->orWhere('product')->in(array_keys($products))->fi()->markRight() + ->where('objectType')->eq('project') + ->andWhere('objectID')->eq($projectID) + ->beginIF(!empty($executions))->markLeft()->orWhere('execution')->in(array_keys($executions))->fi()->markRight() ->orderBy('date_desc') ->limit($count) ->fetchAll(); @@ -1585,7 +1590,7 @@ class block extends control * @access public * @return void */ - public function printProjectOverviewBlock() + public function printExecutionOverviewBlock() { $projectID = $this->view->block->module == 'my' ? 0 : (int)$this->session->project; $executions = $this->loadModel('execution')->getList($projectID); @@ -1649,7 +1654,7 @@ class block extends control * @access public * @return void */ - public function printProjectBlock() + public function printExecutionBlock() { $this->app->loadClass('pager', $static = true); if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die(); @@ -1685,7 +1690,7 @@ class block extends control $this->app->loadClass('date'); $this->app->loadLang('todo'); $stmt = $this->dao->select('*')->from(TABLE_TODO) - ->where("(assignedTo = '{$this->app->user->account}' or (assignedTo = '' and account='{$this->app->user->account}'))") + ->where("(assignedTo = '{$this->app->user->account}' or (account='{$this->app->user->account}'))") ->andWhere('cycle')->eq(0) ->orderBy('`date`'); if(isset($params->todoNum)) $stmt->limit($params->todoNum); @@ -1708,6 +1713,7 @@ class block extends control if(isset($hasViewPriv['task'])) { $this->app->loadLang('task'); + $this->app->loadLang('execution'); $stmt = $this->dao->select('*')->from(TABLE_TASK) ->where('assignedTo')->eq($this->app->user->account) ->andWhere('deleted')->eq('0') @@ -1803,7 +1809,7 @@ class block extends control * @access public * @return void */ - public function printProgramTeamBlock() + public function printProjectTeamBlock() { $count = isset($this->params->count) ? $this->params->count : 15; $status = isset($this->params->type) ? $this->params->type : 'all'; diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php index 15350a6230..5730ff08fc 100644 --- a/module/block/lang/zh-cn.php +++ b/module/block/lang/zh-cn.php @@ -42,7 +42,7 @@ $lang->block->leftToday = '今天剩余工作总计'; $lang->block->myTask = '我的任务'; $lang->block->myStory = "我的{$lang->SRCommon}"; $lang->block->myBug = '我的BUG'; -$lang->block->myProject = '未关闭的' . $lang->executionCommon; +$lang->block->myExecution = '未关闭的' . $lang->executionCommon; $lang->block->myProduct = '未关闭的' . $lang->productCommon; $lang->block->delayed = '已延期'; $lang->block->noData = '当前统计类型下暂无数据'; @@ -59,9 +59,9 @@ $lang->block->resolvedRisks = '解决的风险数'; $lang->block->createdIssues = '创建的问题数'; $lang->block->resolvedIssues = '解决的问题数'; $lang->block->createdDocs = '创建的文档数'; -$lang->block->allProject = '所有' . $lang->executionCommon; -$lang->block->doingProject = '进行中的' . $lang->executionCommon; -$lang->block->finishProject = '累积' . $lang->executionCommon; +$lang->block->allExecution = '所有' . $lang->executionCommon; +$lang->block->doingExecution = '进行中的' . $lang->executionCommon; +$lang->block->finishExecution = '累积' . $lang->executionCommon; $lang->block->estimatedHours = '预计'; $lang->block->consumedHours = '已消耗'; $lang->block->time = '第'; @@ -98,71 +98,71 @@ $lang->block->spent = '已花费'; $lang->block->budget = '预算'; $lang->block->left = '剩余'; -$lang->block->default['waterfall']['program']['1']['title'] = '项目周报'; -$lang->block->default['waterfall']['program']['1']['block'] = 'waterfallreport'; -$lang->block->default['waterfall']['program']['1']['source'] = 'program'; -$lang->block->default['waterfall']['program']['1']['grid'] = 8; +$lang->block->default['waterfall']['project']['1']['title'] = '项目周报'; +$lang->block->default['waterfall']['project']['1']['block'] = 'waterfallreport'; +$lang->block->default['waterfall']['project']['1']['source'] = 'project'; +$lang->block->default['waterfall']['project']['1']['grid'] = 8; -$lang->block->default['waterfall']['program']['2']['title'] = '估算'; -$lang->block->default['waterfall']['program']['2']['block'] = 'waterfallestimate'; -$lang->block->default['waterfall']['program']['2']['source'] = 'program'; -$lang->block->default['waterfall']['program']['2']['grid'] = 4; +$lang->block->default['waterfall']['project']['2']['title'] = '估算'; +$lang->block->default['waterfall']['project']['2']['block'] = 'waterfallestimate'; +$lang->block->default['waterfall']['project']['2']['source'] = 'project'; +$lang->block->default['waterfall']['project']['2']['grid'] = 4; -$lang->block->default['waterfall']['program']['3']['title'] = "项目计划"; -$lang->block->default['waterfall']['program']['3']['block'] = 'waterfallgantt'; -$lang->block->default['waterfall']['program']['3']['source'] = 'program'; -$lang->block->default['waterfall']['program']['3']['grid'] = 8; +$lang->block->default['waterfall']['project']['3']['title'] = "项目计划"; +$lang->block->default['waterfall']['project']['3']['block'] = 'waterfallgantt'; +$lang->block->default['waterfall']['project']['3']['source'] = 'project'; +$lang->block->default['waterfall']['project']['3']['grid'] = 8; -$lang->block->default['waterfall']['program']['4']['title'] = '到目前为止项目进展趋势图'; -$lang->block->default['waterfall']['program']['4']['block'] = 'waterfallprogress'; -$lang->block->default['waterfall']['program']['4']['grid'] = 4; +$lang->block->default['waterfall']['project']['4']['title'] = '到目前为止项目进展趋势图'; +$lang->block->default['waterfall']['project']['4']['block'] = 'waterfallprogress'; +$lang->block->default['waterfall']['project']['4']['grid'] = 4; -$lang->block->default['waterfall']['program']['5']['title'] = '项目问题'; -$lang->block->default['waterfall']['program']['5']['block'] = 'waterfallissue'; -$lang->block->default['waterfall']['program']['5']['source'] = 'program'; -$lang->block->default['waterfall']['program']['5']['grid'] = 8; +$lang->block->default['waterfall']['project']['5']['title'] = '项目问题'; +$lang->block->default['waterfall']['project']['5']['block'] = 'waterfallissue'; +$lang->block->default['waterfall']['project']['5']['source'] = 'project'; +$lang->block->default['waterfall']['project']['5']['grid'] = 8; -$lang->block->default['waterfall']['program']['5']['params']['type'] = 'all'; -$lang->block->default['waterfall']['program']['5']['params']['count'] = '15'; -$lang->block->default['waterfall']['program']['5']['params']['orderBy'] = 'id_desc'; +$lang->block->default['waterfall']['project']['5']['params']['type'] = 'all'; +$lang->block->default['waterfall']['project']['5']['params']['count'] = '15'; +$lang->block->default['waterfall']['project']['5']['params']['orderBy'] = 'id_desc'; -$lang->block->default['waterfall']['program']['6']['title'] = '最新动态'; -$lang->block->default['waterfall']['program']['6']['block'] = 'projectdynamic'; -$lang->block->default['waterfall']['program']['6']['grid'] = 4; -$lang->block->default['waterfall']['program']['6']['source'] = 'program'; +$lang->block->default['waterfall']['project']['6']['title'] = '最新动态'; +$lang->block->default['waterfall']['project']['6']['block'] = 'projectdynamic'; +$lang->block->default['waterfall']['project']['6']['grid'] = 4; +$lang->block->default['waterfall']['project']['6']['source'] = 'project'; -$lang->block->default['waterfall']['program']['7']['title'] = '项目风险'; -$lang->block->default['waterfall']['program']['7']['block'] = 'waterfallrisk'; -$lang->block->default['waterfall']['program']['7']['source'] = 'program'; -$lang->block->default['waterfall']['program']['7']['grid'] = 8; +$lang->block->default['waterfall']['project']['7']['title'] = '项目风险'; +$lang->block->default['waterfall']['project']['7']['block'] = 'waterfallrisk'; +$lang->block->default['waterfall']['project']['7']['source'] = 'project'; +$lang->block->default['waterfall']['project']['7']['grid'] = 8; -$lang->block->default['waterfall']['program']['7']['params']['type'] = 'all'; -$lang->block->default['waterfall']['program']['7']['params']['count'] = '15'; -$lang->block->default['waterfall']['program']['7']['params']['orderBy'] = 'id_desc'; +$lang->block->default['waterfall']['project']['7']['params']['type'] = 'all'; +$lang->block->default['waterfall']['project']['7']['params']['count'] = '15'; +$lang->block->default['waterfall']['project']['7']['params']['orderBy'] = 'id_desc'; -$lang->block->default['scrum']['program']['1']['title'] = '项目整体情况'; -$lang->block->default['scrum']['program']['1']['block'] = 'scrumoverview'; -$lang->block->default['scrum']['program']['1']['grid'] = 8; +$lang->block->default['scrum']['project']['1']['title'] = '项目整体情况'; +$lang->block->default['scrum']['project']['1']['block'] = 'scrumoverview'; +$lang->block->default['scrum']['project']['1']['grid'] = 8; -$lang->block->default['scrum']['program']['2']['title'] = $lang->executionCommon . '列表'; -$lang->block->default['scrum']['program']['2']['block'] = 'scrumlist'; -$lang->block->default['scrum']['program']['2']['grid'] = 8; +$lang->block->default['scrum']['project']['2']['title'] = $lang->executionCommon . '列表'; +$lang->block->default['scrum']['project']['2']['block'] = 'scrumlist'; +$lang->block->default['scrum']['project']['2']['grid'] = 8; -$lang->block->default['scrum']['program']['3']['title'] = '待测版本'; -$lang->block->default['scrum']['program']['3']['block'] = 'scrumtest'; -$lang->block->default['scrum']['program']['3']['grid'] = 8; +$lang->block->default['scrum']['project']['3']['title'] = '待测版本'; +$lang->block->default['scrum']['project']['3']['block'] = 'scrumtest'; +$lang->block->default['scrum']['project']['3']['grid'] = 8; -$lang->block->default['scrum']['program']['3']['params']['type'] = 'wait'; -$lang->block->default['scrum']['program']['3']['params']['count'] = '15'; -$lang->block->default['scrum']['program']['3']['params']['orderBy'] = 'id_desc'; +$lang->block->default['scrum']['project']['3']['params']['type'] = 'wait'; +$lang->block->default['scrum']['project']['3']['params']['count'] = '15'; +$lang->block->default['scrum']['project']['3']['params']['orderBy'] = 'id_desc'; -$lang->block->default['scrum']['program']['4']['title'] = $lang->executionCommon . '总览'; -$lang->block->default['scrum']['program']['4']['block'] = 'sprint'; -$lang->block->default['scrum']['program']['4']['grid'] = 4; +$lang->block->default['scrum']['project']['4']['title'] = $lang->executionCommon . '总览'; +$lang->block->default['scrum']['project']['4']['block'] = 'sprint'; +$lang->block->default['scrum']['project']['4']['grid'] = 4; -$lang->block->default['scrum']['program']['5']['title'] = '最新动态'; -$lang->block->default['scrum']['program']['5']['block'] = 'projectdynamic'; -$lang->block->default['scrum']['program']['5']['grid'] = 4; +$lang->block->default['scrum']['project']['5']['title'] = '最新动态'; +$lang->block->default['scrum']['project']['5']['block'] = 'projectdynamic'; +$lang->block->default['scrum']['project']['5']['grid'] = 4; $lang->block->default['product']['1']['title'] = $lang->productCommon . '统计'; $lang->block->default['product']['1']['block'] = 'statistic'; @@ -190,39 +190,39 @@ $lang->block->default['product']['4']['params']['count'] = 15; $lang->block->default['product']['4']['params']['orderBy'] = 'id_desc'; $lang->block->default['product']['4']['params']['type'] = 'assignedTo'; -$lang->block->default['project']['1']['title'] = $lang->executionCommon . '统计'; -$lang->block->default['project']['1']['block'] = 'statistic'; -$lang->block->default['project']['1']['grid'] = 8; +$lang->block->default['execution']['1']['title'] = $lang->executionCommon . '统计'; +$lang->block->default['execution']['1']['block'] = 'statistic'; +$lang->block->default['execution']['1']['grid'] = 8; -$lang->block->default['project']['1']['params']['type'] = 'all'; -$lang->block->default['project']['1']['params']['count'] = '20'; +$lang->block->default['execution']['1']['params']['type'] = 'all'; +$lang->block->default['execution']['1']['params']['count'] = '20'; -$lang->block->default['project']['2']['title'] = $lang->executionCommon . '总览'; -$lang->block->default['project']['2']['block'] = 'overview'; -$lang->block->default['project']['2']['grid'] = 4; +$lang->block->default['execution']['2']['title'] = $lang->executionCommon . '总览'; +$lang->block->default['execution']['2']['block'] = 'overview'; +$lang->block->default['execution']['2']['grid'] = 4; -$lang->block->default['project']['3']['title'] = '未关闭的' . $lang->executionCommon; -$lang->block->default['project']['3']['block'] = 'list'; -$lang->block->default['project']['3']['grid'] = 8; +$lang->block->default['execution']['3']['title'] = '未关闭的' . $lang->executionCommon; +$lang->block->default['execution']['3']['block'] = 'list'; +$lang->block->default['execution']['3']['grid'] = 8; -$lang->block->default['project']['3']['params']['count'] = 15; -$lang->block->default['project']['3']['params']['orderBy'] = 'id_desc'; -$lang->block->default['project']['3']['params']['type'] = 'undone'; +$lang->block->default['execution']['3']['params']['count'] = 15; +$lang->block->default['execution']['3']['params']['orderBy'] = 'id_desc'; +$lang->block->default['execution']['3']['params']['type'] = 'undone'; -$lang->block->default['project']['4']['title'] = '指派给我的任务'; -$lang->block->default['project']['4']['block'] = 'task'; -$lang->block->default['project']['4']['grid'] = 4; +$lang->block->default['execution']['4']['title'] = '指派给我的任务'; +$lang->block->default['execution']['4']['block'] = 'task'; +$lang->block->default['execution']['4']['grid'] = 4; -$lang->block->default['project']['4']['params']['count'] = 15; -$lang->block->default['project']['4']['params']['orderBy'] = 'id_desc'; -$lang->block->default['project']['4']['params']['type'] = 'assignedTo'; +$lang->block->default['execution']['4']['params']['count'] = 15; +$lang->block->default['execution']['4']['params']['orderBy'] = 'id_desc'; +$lang->block->default['execution']['4']['params']['type'] = 'assignedTo'; -$lang->block->default['project']['5']['title'] = '版本列表'; -$lang->block->default['project']['5']['block'] = 'build'; -$lang->block->default['project']['5']['grid'] = 8; +$lang->block->default['execution']['5']['title'] = '版本列表'; +$lang->block->default['execution']['5']['block'] = 'build'; +$lang->block->default['execution']['5']['grid'] = 8; -$lang->block->default['project']['5']['params']['count'] = 15; -$lang->block->default['project']['5']['params']['orderBy'] = 'id_desc'; +$lang->block->default['execution']['5']['params']['count'] = 15; +$lang->block->default['execution']['5']['params']['orderBy'] = 'id_desc'; $lang->block->default['qa']['1']['title'] = '测试统计'; $lang->block->default['qa']['1']['block'] = 'statistic'; @@ -277,7 +277,7 @@ $lang->block->default['full']['my']['3']['params']['count'] = '20'; $lang->block->default['full']['my']['4']['title'] = '项目统计'; $lang->block->default['full']['my']['4']['block'] = 'statistic'; -$lang->block->default['full']['my']['4']['source'] = 'program'; +$lang->block->default['full']['my']['4']['source'] = 'project'; $lang->block->default['full']['my']['4']['grid'] = 8; $lang->block->default['full']['my']['5']['title'] = '我的贡献'; @@ -287,7 +287,7 @@ $lang->block->default['full']['my']['5']['grid'] = 4; $lang->block->default['full']['my']['6']['title'] = '我近期参与的项目'; $lang->block->default['full']['my']['6']['block'] = 'recentproject'; -$lang->block->default['full']['my']['6']['source'] = 'program'; +$lang->block->default['full']['my']['6']['source'] = 'project'; $lang->block->default['full']['my']['6']['grid'] = 8; $lang->block->default['full']['my']['7']['title'] = '指派给我'; @@ -303,13 +303,13 @@ $lang->block->default['full']['my']['7']['params']['issueNum'] = '20'; $lang->block->default['full']['my']['7']['params']['storyNum'] = '20'; $lang->block->default['full']['my']['8']['title'] = '项目人力投入'; -$lang->block->default['full']['my']['8']['block'] = 'programteam'; -$lang->block->default['full']['my']['8']['source'] = 'program'; +$lang->block->default['full']['my']['8']['block'] = 'projectteam'; +$lang->block->default['full']['my']['8']['source'] = 'project'; $lang->block->default['full']['my']['8']['grid'] = 8; $lang->block->default['full']['my']['9']['title'] = '项目列表'; -$lang->block->default['full']['my']['9']['block'] = 'program'; -$lang->block->default['full']['my']['9']['source'] = 'program'; +$lang->block->default['full']['my']['9']['block'] = 'project'; +$lang->block->default['full']['my']['9']['source'] = 'project'; $lang->block->default['full']['my']['9']['grid'] = 8; $lang->block->default['full']['my']['9']['params']['orderBy'] = 'id_desc'; @@ -320,33 +320,32 @@ $lang->block->type = '类型'; $lang->block->orderBy = '排序'; $lang->block->availableBlocks = new stdclass(); +$lang->block->availableBlocks->todo = '我的待办'; +$lang->block->availableBlocks->task = '我的任务'; +$lang->block->availableBlocks->bug = '我的Bug'; +$lang->block->availableBlocks->case = '我的用例'; +$lang->block->availableBlocks->story = "我的{$lang->SRCommon}"; +$lang->block->availableBlocks->product = $lang->productCommon . '列表'; +$lang->block->availableBlocks->execution = $lang->executionCommon . '列表'; +$lang->block->availableBlocks->plan = "计划列表"; +$lang->block->availableBlocks->release = '发布列表'; +$lang->block->availableBlocks->build = '版本列表'; +$lang->block->availableBlocks->testtask = '测试版本列表'; +$lang->block->availableBlocks->risk = '我的风险'; +$lang->block->availableBlocks->issue = '我的问题'; -$lang->block->availableBlocks->todo = '我的待办'; -$lang->block->availableBlocks->task = '我的任务'; -$lang->block->availableBlocks->bug = '我的Bug'; -$lang->block->availableBlocks->case = '我的用例'; -$lang->block->availableBlocks->story = "我的{$lang->SRCommon}"; -$lang->block->availableBlocks->product = $lang->productCommon . '列表'; -$lang->block->availableBlocks->project = $lang->executionCommon . '列表'; -$lang->block->availableBlocks->plan = "计划列表"; -$lang->block->availableBlocks->release = '发布列表'; -$lang->block->availableBlocks->build = '版本列表'; -$lang->block->availableBlocks->testtask = '测试版本列表'; -$lang->block->availableBlocks->risk = '我的风险'; -$lang->block->availableBlocks->issue = '我的问题'; +$lang->block->moduleList['project'] = '项目'; +$lang->block->moduleList['product'] = $lang->productCommon; +$lang->block->moduleList['execution'] = $lang->executionCommon; +$lang->block->moduleList['qa'] = '测试'; +$lang->block->moduleList['todo'] = '待办'; -$lang->block->moduleList['program'] = '项目'; -$lang->block->moduleList['product'] = $lang->productCommon; -$lang->block->moduleList['project'] = $lang->executionCommon; -$lang->block->moduleList['qa'] = '测试'; -$lang->block->moduleList['todo'] = '待办'; - -$lang->block->modules['program'] = new stdclass(); -$lang->block->modules['program']->availableBlocks = new stdclass(); -$lang->block->modules['program']->availableBlocks->program = '项目列表'; -$lang->block->modules['program']->availableBlocks->recentproject = '近期项目'; -$lang->block->modules['program']->availableBlocks->statistic = '项目统计'; -$lang->block->modules['program']->availableBlocks->programteam = '项目人力投入'; +$lang->block->modules['project'] = new stdclass(); +$lang->block->modules['project']->availableBlocks = new stdclass(); +$lang->block->modules['project']->availableBlocks->project = '项目列表'; +$lang->block->modules['project']->availableBlocks->recentproject = '近期项目'; +$lang->block->modules['project']->availableBlocks->statistic = '项目统计'; +$lang->block->modules['project']->availableBlocks->projectteam = '项目人力投入'; $lang->block->modules['scrum']['index'] = new stdclass(); $lang->block->modules['scrum']['index']->availableBlocks = new stdclass(); @@ -375,13 +374,13 @@ $lang->block->modules['product']->availableBlocks->story = "{$lang->SRCommon $lang->block->modules['product']->availableBlocks->plan = "计划列表"; $lang->block->modules['product']->availableBlocks->release = '发布列表'; -$lang->block->modules['project'] = new stdclass(); -$lang->block->modules['project']->availableBlocks = new stdclass(); -$lang->block->modules['project']->availableBlocks->statistic = $lang->executionCommon . '统计'; -$lang->block->modules['project']->availableBlocks->overview = $lang->executionCommon . '总览'; -$lang->block->modules['project']->availableBlocks->list = $lang->executionCommon . '列表'; -$lang->block->modules['project']->availableBlocks->task = '任务列表'; -$lang->block->modules['project']->availableBlocks->build = '版本列表'; +$lang->block->modules['execution'] = new stdclass(); +$lang->block->modules['execution']->availableBlocks = new stdclass(); +$lang->block->modules['execution']->availableBlocks->statistic = $lang->executionCommon . '统计'; +$lang->block->modules['execution']->availableBlocks->overview = $lang->executionCommon . '总览'; +$lang->block->modules['execution']->availableBlocks->list = $lang->executionCommon . '列表'; +$lang->block->modules['execution']->availableBlocks->task = '任务列表'; +$lang->block->modules['execution']->availableBlocks->build = '版本列表'; $lang->block->modules['qa'] = new stdclass(); $lang->block->modules['qa']->availableBlocks = new stdclass(); @@ -403,11 +402,11 @@ $lang->block->orderByList->product['id_desc'] = 'ID 递减'; $lang->block->orderByList->product['status_asc'] = '状态正序'; $lang->block->orderByList->product['status_desc'] = '状态倒序'; -$lang->block->orderByList->project = array(); -$lang->block->orderByList->project['id_asc'] = 'ID 递增'; -$lang->block->orderByList->project['id_desc'] = 'ID 递减'; -$lang->block->orderByList->project['status_asc'] = '状态正序'; -$lang->block->orderByList->project['status_desc'] = '状态倒序'; +$lang->block->orderByList->execution = array(); +$lang->block->orderByList->execution['id_asc'] = 'ID 递增'; +$lang->block->orderByList->execution['id_desc'] = 'ID 递减'; +$lang->block->orderByList->execution['status_asc'] = '状态正序'; +$lang->block->orderByList->execution['status_desc'] = '状态倒序'; $lang->block->orderByList->task = array(); $lang->block->orderByList->task['id_asc'] = 'ID 递增'; @@ -478,15 +477,15 @@ $lang->block->typeList->product['closed'] = '已关闭'; $lang->block->typeList->product['all'] = '全部'; $lang->block->typeList->product['involved'] = '我参与'; -$lang->block->typeList->program['undone'] = '未完成'; -$lang->block->typeList->program['doing'] = '进行中'; -$lang->block->typeList->program['all'] = '全部'; -$lang->block->typeList->program['involved'] = '我参与的'; - $lang->block->typeList->project['undone'] = '未完成'; $lang->block->typeList->project['doing'] = '进行中'; $lang->block->typeList->project['all'] = '全部'; -$lang->block->typeList->project['involved'] = '我参与'; +$lang->block->typeList->project['involved'] = '我参与的'; + +$lang->block->typeList->execution['undone'] = '未完成'; +$lang->block->typeList->execution['doing'] = '进行中'; +$lang->block->typeList->execution['all'] = '全部'; +$lang->block->typeList->execution['involved'] = '我参与'; $lang->block->typeList->scrum['undone'] = '未完成'; $lang->block->typeList->scrum['doing'] = '进行中'; @@ -499,27 +498,27 @@ $lang->block->typeList->testtask['blocked'] = '阻塞版本'; $lang->block->typeList->testtask['done'] = '已测版本'; $lang->block->typeList->testtask['all'] = '全部'; -$lang->block->modules['program']->moreLinkList = new stdclass(); -$lang->block->modules['program']->moreLinkList->recentproject = 'program|prjbrowse|'; -$lang->block->modules['program']->moreLinkList->statistic = 'program|prjbrowse|'; -$lang->block->modules['program']->moreLinkList->project = 'program|prjbrowse|'; -$lang->block->modules['program']->moreLinkList->cmmireport = 'weekly|index|'; -$lang->block->modules['program']->moreLinkList->cmmiestimate = 'workestimation|index|'; -$lang->block->modules['program']->moreLinkList->cmmiissue = 'issue|browse|'; -$lang->block->modules['program']->moreLinkList->cmmirisk = 'risk|browse|'; -$lang->block->modules['program']->moreLinkList->scrumlist = 'project|all|'; -$lang->block->modules['program']->moreLinkList->scrumtest = 'testtask|browse|'; -$lang->block->modules['program']->moreLinkList->scrumproduct = 'product|all|'; -$lang->block->modules['program']->moreLinkList->sprint = 'project|all|'; -$lang->block->modules['program']->moreLinkList->projectdynamic = 'company|dynamic|'; +$lang->block->modules['project']->moreLinkList = new stdclass(); +$lang->block->modules['project']->moreLinkList->recentproject = 'project|browse|'; +$lang->block->modules['project']->moreLinkList->statistic = 'project|browse|'; +$lang->block->modules['project']->moreLinkList->project = 'project|browse|'; +$lang->block->modules['project']->moreLinkList->cmmireport = 'weekly|index|'; +$lang->block->modules['project']->moreLinkList->cmmiestimate = 'workestimation|index|'; +$lang->block->modules['project']->moreLinkList->cmmiissue = 'issue|browse|'; +$lang->block->modules['project']->moreLinkList->cmmirisk = 'risk|browse|'; +$lang->block->modules['project']->moreLinkList->scrumlist = 'project|all|'; +$lang->block->modules['project']->moreLinkList->scrumtest = 'testtask|browse|'; +$lang->block->modules['project']->moreLinkList->scrumproduct = 'product|all|'; +$lang->block->modules['project']->moreLinkList->sprint = 'project|all|'; +$lang->block->modules['project']->moreLinkList->projectdynamic = 'company|dynamic|'; $lang->block->modules['product']->moreLinkList = new stdclass(); $lang->block->modules['product']->moreLinkList->list = 'product|all|'; $lang->block->modules['product']->moreLinkList->story = 'my|story|type=%s'; -$lang->block->modules['project']->moreLinkList = new stdclass(); -$lang->block->modules['project']->moreLinkList->list = 'project|all|status=%s&project='; -$lang->block->modules['project']->moreLinkList->task = 'my|task|type=%s'; +$lang->block->modules['execution']->moreLinkList = new stdclass(); +$lang->block->modules['execution']->moreLinkList->list = 'execution|all|status=%s&executionID='; +$lang->block->modules['execution']->moreLinkList->task = 'my|task|type=%s'; $lang->block->modules['qa']->moreLinkList = new stdclass(); $lang->block->modules['qa']->moreLinkList->bug = 'my|bug|type=%s'; @@ -541,9 +540,9 @@ $lang->block->welcomeList['19:00'] = '%s,晚上好!'; $lang->block->gridOptions[8] = '左侧'; $lang->block->gridOptions[4] = '右侧'; -$lang->block->flowchart = array(); -$lang->block->flowchart['admin'] = array('管理员', '维护公司', '添加用户', '维护权限'); -$lang->block->flowchart['product'] = array($lang->productCommon . '经理', '创建' . $lang->productCommon, '维护模块', "维护计划", "维护{$lang->SRCommon}", '创建发布'); -$lang->block->flowchart['project'] = array($lang->executionCommon . '经理', '创建' . $lang->executionCommon, '维护团队', '关联' . $lang->productCommon, "关联{$lang->SRCommon}", '分解任务'); -$lang->block->flowchart['dev'] = array('研发人员', '领取任务和Bug', '更新状态', '完成任务和Bug'); -$lang->block->flowchart['tester'] = array('测试人员', '撰写用例', '执行用例', '提交Bug', '验证Bug', '关闭Bug'); +$lang->block->flowchart = array(); +$lang->block->flowchart['admin'] = array('管理员', '维护公司', '添加用户', '维护权限'); +$lang->block->flowchart['product'] = array($lang->productCommon . '经理', '创建' . $lang->productCommon, '维护模块', "维护计划", "维护{$lang->SRCommon}", '创建发布'); +$lang->block->flowchart['execution'] = array($lang->executionCommon . '经理', '创建' . $lang->executionCommon, '维护团队', '关联' . $lang->productCommon, "关联{$lang->SRCommon}", '分解任务'); +$lang->block->flowchart['dev'] = array('研发人员', '领取任务和Bug', '更新状态', '完成任务和Bug'); +$lang->block->flowchart['tester'] = array('测试人员', '撰写用例', '执行用例', '提交Bug', '验证Bug', '关闭Bug'); diff --git a/module/block/model.php b/module/block/model.php index 0a74b0391c..a40e6f3bc5 100644 --- a/module/block/model.php +++ b/module/block/model.php @@ -220,16 +220,14 @@ class blockModel extends model { $flow = isset($this->config->global->flow) ? $this->config->global->flow : 'full'; $account = $this->app->user->account; - if($module == 'program') + if($module == 'project') { - $blocks = $this->lang->block->default[$type]['program']; - $projectID = $this->session->PRJ; - $project = $this->loadModel('program')->getPRJByID($projectID); + $blocks = $this->lang->block->default[$type]['project']; /* Mark project block has init. */ - $this->loadModel('setting')->setItem("$account.$module.{$project->model}common.blockInited", true); + $this->loadModel('setting')->setItem("$account.$module.{$type}common.blockInited", true); } - else + else { $blocks = $module == 'my' ? $this->lang->block->default[$flow][$module] : $this->lang->block->default[$module]; diff --git a/module/block/view/bugblock.html.php b/module/block/view/bugblock.html.php index e924d32762..4756d776a9 100644 --- a/module/block/view/bugblock.html.php +++ b/module/block/view/bugblock.html.php @@ -53,7 +53,7 @@ ?> id);?> - createLink('bug', 'view', "bugID=$bug->id", '', '', $bug->PRJ), $bug->title)?> + createLink('bug', 'view', "bugID=$bug->id", '', '', $bug->project), $bug->title)?> diff --git a/module/block/view/executionblock.html.php b/module/block/view/executionblock.html.php new file mode 100644 index 0000000000..a86a0de19d --- /dev/null +++ b/module/block/view/executionblock.html.php @@ -0,0 +1,73 @@ + + * @package block + * @version $Id$ + * @link http://www.zentao.net + */ +?> + +
" . $lang->project->create, '', "class='btn btn-primary'")?>
+ +
+ + + + + + + + + + + + + + + + + + + + + + get->entry}'" : "class='text-center'"; + $viewLink = $this->createLink('execution', 'task', 'executionID=' . $execution->id); + ?> + > + + + + + + + + + + + + + + + +
execution->name;?>execution->end;?>statusAB;?>execution->totalEstimate;?>execution->totalConsumed;?>execution->totalLeft;?>execution->progress;?>execution->burn;?>
name, '', "title='$execution->name'");?>end;?> + delay)):?> + execution->delayed;?> + + processStatus('project', $execution);?> + + + hours->totalEstimate . ' ' . $lang->execution->workHourUnit;?>hours->totalConsumed . ' ' . $lang->execution->workHourUnit;?>hours->totalLeft . ' ' . $lang->execution->workHourUnit;?> +
+
+ hours->progress;?>% +
+
+
burns);?>'>
+
+ diff --git a/module/block/view/projectoverviewblock.html.php b/module/block/view/executionoverviewblock.html.php similarity index 86% rename from module/block/view/projectoverviewblock.html.php rename to module/block/view/executionoverviewblock.html.php index 1db462e865..c8c65340ee 100644 --- a/module/block/view/projectoverviewblock.html.php +++ b/module/block/view/executionoverviewblock.html.php @@ -16,9 +16,9 @@
-
project->allProject;?>
+
execution->allExecution;?>
- project->viewAll;?> + execution->viewAll;?>
diff --git a/module/block/view/programstatisticblock.html.php b/module/block/view/executionstatisticblock.html.php similarity index 52% rename from module/block/view/programstatisticblock.html.php rename to module/block/view/executionstatisticblock.html.php index f3ff2ebd49..4eb5a0dad9 100644 --- a/module/block/view/programstatisticblock.html.php +++ b/module/block/view/executionstatisticblock.html.php @@ -55,21 +55,9 @@ html[lang="en"] .product-info .type-info {color: #A6AAB8; text-align: center; po .block-statistic.block-sm .nav-secondary > li.active > a.btn-view {width: auto; left: 0; right: 0;} .block-statistic.block-sm .nav-secondary > li.active > a.btn-view > i {display: none;} .block-statistic.block-sm .nav-secondary > li.active > a.btn-view:hover {cursor: pointer; background: rgba(0,0,0,.1)} -.block-statistic .program-info .info span+span{margin-left: 15px} -.block-statistic .project-info{margin-top: 25px} -.block-statistic .project-info .col-xs-5, .block-statistic .project-info .col-xs-7{margin-top: 8px} -.block-statistic .project-info .col-xs-5{padding-left: 0px;} .status-count{margin:auto} .status-count tr:first-child td:last-child{color:#000;font-weight:bold} - -.block-statistic .progress-group{margin-top: 20px; margin-bottom: 10px; height: 65px;} -.block-statistic .weekly-title{font-weight: bold; font-size:14px; color: #3C4253;} -.block-statistic .weekly-small{font-size:12px; color: #838A9D;} -.block-statistic .weekly-progress {font-weight: bold; font-size:24px;} -.block-statistic .weekly-name{font-size:14px; color: #838A9D;} -.block-statistic .weekly-value{font-size:14px;} -.block-statistic .col-6 .stage{margin-left: 10px}
- +

block->noData;?>

@@ -104,139 +92,110 @@ $(function()
- -
+ +
- model == 'scrum'):?>
-
+
- story->common . $lang->project->doneStories;?> - doneStories;?> + task->statusList['done'];?> + progress;?>percent;?>
-
project->allStories;?>
-
allStories;?>
+
execution->totalEstimate;?>
+
totalEstimate;?> task->hour;?>
-
project->doneStories;?>
-
doneStories;?>
+
execution->totalConsumed;?>
+
totalConsumed;?> task->hour;?>
-
project->leftStories;?>
-
leftStories;?>
+
execution->totalLeft;?>
+
totalLeft;?> task->hour;?>
-
-

project->allInput;?>

-
- project->membersUnit, $project->teamCount);?> - project->hoursUnit, $project->estimate);?> - budget . ' ' . zget($lang->project->unitList, $project->budgetUnit);?> -
-
-
- -

project->lastIteration;?>

- executions as $execution):?> - - 3) break;?> -
name;?>
-
-
-
- hours->progress . '%';?> -
+
+
task->yesterdayFinished;?> yesterdayFinished;?>
+
+
- -
-
- -
-
- project->weekly;?> - current;?> -
-
-
-
project->PRJProgress;?>
-
progress . '%';?>
-
-
-
+
+
+ + + + + + + + + +
task->allTasks;?> :totalTasks) ? 0 : html::a($this->createLink('project', 'task', "executionID={$execution->id}&status=all"), $execution->totalTasks);?>
task->noFinished;?> :undoneTasks) ? 0 : html::a($this->createLink('project', 'task', "executionID={$execution->id}&status=undone"), $execution->undoneTasks);?>
+
-
-
-
project->pv;?>
-
pv;?>
+
+
story->released;?> releasedStories;?>
+
+
-
-
project->ev;?>
-
ev;?>
+
+
+ + + + + + + + + +
story->total;?> :totalStories) ? 0 : html::a($this->createLink('project', 'story', "executionID={$execution->id}&orderBy=order_desc&type=all"), $execution->totalStories);?>
story->unclosed;?> :unclosedStories) ? 0 : html::a($this->createLink('project', 'story', "executionID={$execution->id}&orderBy=order_desc&type=unclosed"), $execution->unclosedStories);?>
+
-
-
project->sv;?>
-
sv;?>
+
+
+
bug->yesterdayResolved;?> yesterdayResolved;?>
+
+
+
+
+
+
+ + + + + + + + + +
bug->allBugs;?> :totalBugs) ? 0 : html::a($this->createLink('project', 'bug', "executionID={$execution->id}&orderBy=status,id_desc&build=0&type=all"), $execution->totalBugs);?>
bug->unResolved;?> :activeBugs) ? 0 : html::a($this->createLink('project', 'bug', "executionID={$execution->id}&orderBy=status,id_desc&build=0&type=unresolved"), $execution->activeBugs);?>
+
-
-
-
- project->allInput;?> -
-
-
-
-
-
-
project->PRJPM;?>
-
PM ? zget($users, $project->PM) : $lang->project->emptyPM;?>
-
-
-
project->teamCount;?>
-
teamCount;?>
-
-
-
project->PRJBudget;?>
-
budget;?>
-
-
-
-
-
-
project->ac;?>
-
ac;?>
-
-
-
project->cv;?>
-
cv;?>
-
-
-
-
-
-
diff --git a/module/block/view/programteamblock.html.php b/module/block/view/executionteamblock.html.php similarity index 80% rename from module/block/view/programteamblock.html.php rename to module/block/view/executionteamblock.html.php index 7e4fff2426..20cea8dba9 100644 --- a/module/block/view/programteamblock.html.php +++ b/module/block/view/executionteamblock.html.php @@ -8,13 +8,12 @@ $maxConsumed = 0;
-
project->name;?>
teamCount); $maxConsumed = max($maxConsumed, $project->consumed); ?> -
name;?>
+
name;?>
@@ -37,7 +36,7 @@ $maxConsumed = 0;
-
consumed . $lang->execution->workHourUnit;?>
+
consumed;?>
@@ -48,7 +47,7 @@ $maxConsumed = 0;
-
- '> - - - - - - - - - - - - - - - - - - createLink('program', 'index', "programID={$project->id}"); - ?> - - - - - - - - app->getClientLang(), ['zh-cn','zh-tw']) && $project->budget >= 10000 ? number_format($project->budget / 10000, 1) . $this->lang->program->tenThousand : number_format((float)$project->budget, 1);?> - - - - - - - - -
project->name;?>program->PM;?>program->status;?>program->teamCount;?>task->consumed;?>program->budget;?>project->leftStories;?>project->leftTasks;?>project->leftBugs;?>
name);?>PM, $project->PM)?> - project->statusList, $project->status);?> - teamCount;?>consumed . ' ' . $lang->execution->workHourUnit;?>budget != 0 ? zget($lang->project->currencySymbol, $project->budgetUnit) . ' ' . $programBudget : $lang->project->future;?>leftStories;?>leftTasks;?>leftBugs;?>
-
- diff --git a/module/block/view/projectblock.html.php b/module/block/view/projectblock.html.php index 6ab7f38894..5af4c1331f 100644 --- a/module/block/view/projectblock.html.php +++ b/module/block/view/projectblock.html.php @@ -1,72 +1,49 @@ - - * @package block - * @version $Id$ - * @link http://www.zentao.net - */ -?> - -
" . $lang->project->create, '', "class='btn btn-primary'")?>
+ +
block->emptyTip;?>
-
- + +
+
'> - - - + + + + - - - - - - - - - + + + + + + - - - + + get->entry}'" : "class='text-center'"; - $viewLink = $this->createLink('execution', 'task', 'execution=' . $execution->id); + $viewLink = $this->createLink('program', 'index', "programID={$project->id}"); ?> - > - - - - - - - - - + + + - + + + app->getClientLang(), ['zh-cn','zh-tw']) && $project->budget >= 10000 ? number_format($project->budget / 10000, 1) . $this->lang->program->tenThousand : number_format((float)$project->budget, 1);?> + + + + - - + +
project->name;?>project->end;?>
project->name;?>program->PM;?>program->status;?> statusAB;?>execution->totalEstimate;?>execution->totalConsumed;?>execution->totalLeft;?>project->progress;?>execution->burn;?>program->teamCount;?>task->consumed;?>program->budget;?>project->leftStories;?>project->leftTasks;?>project->leftBugs;?>
createLink('execution', 'task', 'execution=' . $execution->id), $execution->name, '', "title='$execution->name'");?>end;?> - delay)):?> - execution->delayed;?> - - processStatus('project', $execution);?> - - - hours->totalEstimate . ' ' . $lang->execution->workHourUnit;?>hours->totalConsumed . ' ' . $lang->execution->workHourUnit;?>hours->totalLeft . ' ' . $lang->execution->workHourUnit;?> -
-
- hours->progress;?>% -
-
+
name);?>PM, $project->PM)?> + project->statusList, $project->status);?> burns);?>'>teamCount;?>consumed . ' ' . $lang->execution->workHourUnit;?>budget != 0 ? zget($lang->project->currencySymbol, $project->budgetUnit) . ' ' . $programBudget : $lang->project->future;?>leftStories;?>leftTasks;?>leftBugs;?>
diff --git a/module/block/view/projectstatisticblock.html.php b/module/block/view/projectstatisticblock.html.php index d6da2a5acc..4fe90823c0 100644 --- a/module/block/view/projectstatisticblock.html.php +++ b/module/block/view/projectstatisticblock.html.php @@ -55,9 +55,21 @@ html[lang="en"] .product-info .type-info {color: #A6AAB8; text-align: center; po .block-statistic.block-sm .nav-secondary > li.active > a.btn-view {width: auto; left: 0; right: 0;} .block-statistic.block-sm .nav-secondary > li.active > a.btn-view > i {display: none;} .block-statistic.block-sm .nav-secondary > li.active > a.btn-view:hover {cursor: pointer; background: rgba(0,0,0,.1)} +.block-statistic .program-info .info span+span{margin-left: 15px} +.block-statistic .project-info{margin-top: 25px} +.block-statistic .project-info .col-xs-5, .block-statistic .project-info .col-xs-7{margin-top: 8px} +.block-statistic .project-info .col-xs-5{padding-left: 0px;} .status-count{margin:auto} .status-count tr:first-child td:last-child{color:#000;font-weight:bold} + +.block-statistic .progress-group{margin-top: 20px; margin-bottom: 10px; height: 65px;} +.block-statistic .weekly-title{font-weight: bold; font-size:14px; color: #3C4253;} +.block-statistic .weekly-small{font-size:12px; color: #838A9D;} +.block-statistic .weekly-progress {font-weight: bold; font-size:24px;} +.block-statistic .weekly-name{font-size:14px; color: #838A9D;} +.block-statistic .weekly-value{font-size:14px;} +.block-statistic .col-6 .stage{margin-left: 10px}
- +

block->noData;?>

@@ -92,110 +104,139 @@ $(function()
- -
+ +
+ model == 'scrum'):?>
-
+
- task->statusList['done'];?> - progress;?>percent;?> + story->common . $lang->project->doneStories;?> + doneStories;?>
-
project->totalEstimate;?>
-
totalEstimate;?> task->hour;?>
+
project->allStories;?>
+
allStories;?>
-
project->totalConsumed;?>
-
totalConsumed;?> task->hour;?>
+
project->doneStories;?>
+
doneStories;?>
-
project->totalLeft;?>
-
totalLeft;?> task->hour;?>
+
project->leftStories;?>
+
leftStories;?>
-
-
task->yesterdayFinished;?> yesterdayFinished;?>
-
-
-
-
-
-
- - - - - - - - - -
task->allTasks;?> :totalTasks) ? 0 : html::a($this->createLink('project', 'task', "executionID={$execution->id}&status=all"), $execution->totalTasks);?>
task->noFinished;?> :undoneTasks) ? 0 : html::a($this->createLink('project', 'task', "executionID={$execution->id}&status=undone"), $execution->undoneTasks);?>
-
+
+

project->allInput;?>

+
+ project->membersUnit, $project->teamCount);?> + project->hoursUnit, $project->estimate);?> + budget . ' ' . zget($lang->project->unitList, $project->budgetUnit);?>
-
-
story->released;?> releasedStories;?>
-
-
-
-
-
- - - - - - - - - -
story->total;?> :totalStories) ? 0 : html::a($this->createLink('project', 'story', "executionID={$execution->id}&orderBy=order_desc&type=all"), $execution->totalStories);?>
story->unclosed;?> :unclosedStories) ? 0 : html::a($this->createLink('project', 'story', "executionID={$execution->id}&orderBy=order_desc&type=unclosed"), $execution->unclosedStories);?>
+
+ +

project->lastIteration;?>

+ executions as $execution):?> + + 3) break;?> +
name;?>
+
+
+
+ hours->progress . '%';?> +
+ +
+
+ +
+
+ project->weekly;?> + current;?> +
+
+
+
project->progress;?>
+
progress . '%';?>
+
+
+
+
-
-
bug->yesterdayResolved;?> yesterdayResolved;?>
-
-
-
+
+
+
project->pv;?>
+
pv;?>
-
-
- - - - - - - - - -
bug->allBugs;?> :totalBugs) ? 0 : html::a($this->createLink('project', 'bug', "executionID={$execution->id}&orderBy=status,id_desc&build=0&type=all"), $execution->totalBugs);?>
bug->unResolved;?> :activeBugs) ? 0 : html::a($this->createLink('project', 'bug', "executionID={$execution->id}&orderBy=status,id_desc&build=0&type=unresolved"), $execution->activeBugs);?>
-
+
+
project->ev;?>
+
ev;?>
+
+
+
project->sv;?>
+
sv;?>
+
+
+
+ project->allInput;?> +
+
+
+
+
+
+
project->PM;?>
+
PM ? zget($users, $project->PM) : $lang->project->emptyPM;?>
+
+
+
project->teamCount;?>
+
teamCount;?>
+
+
+
project->budget;?>
+
budget;?>
+
+
+
+
+
+
project->ac;?>
+
ac;?>
+
+
+
project->cv;?>
+
cv;?>
+
+
+
+
+
+
diff --git a/module/block/view/projectteamblock.html.php b/module/block/view/projectteamblock.html.php index 20cea8dba9..7e4fff2426 100644 --- a/module/block/view/projectteamblock.html.php +++ b/module/block/view/projectteamblock.html.php @@ -8,12 +8,13 @@ $maxConsumed = 0;
+
project->name;?>
teamCount); $maxConsumed = max($maxConsumed, $project->consumed); ?> -
name;?>
+
name;?>
@@ -36,7 +37,7 @@ $maxConsumed = 0;
-
consumed;?>
+
consumed . $lang->execution->workHourUnit;?>
@@ -47,7 +48,7 @@ $maxConsumed = 0;