From 584938724b26df32e6ec0e66e5ccab90ff7fb242 Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Thu, 26 Nov 2020 14:18:00 +0800 Subject: [PATCH] * Merge code. --- framework/router.class.php | 1 - module/common/lang/de.php | 20 ++++----- module/common/lang/en.php | 20 ++++----- module/common/lang/fr.php | 20 ++++----- module/common/lang/vi.php | 20 ++++----- module/common/lang/zh-cn.php | 40 ++++++++++-------- module/common/model.php | 57 +++++++++++++++----------- module/custom/js/configurescrum.js | 1 - module/custom/js/configurewaterfall.js | 1 - module/product/view/create.html.php | 2 + module/program/view/prjcreate.html.php | 2 + module/program/view/prjedit.html.php | 2 + 12 files changed, 102 insertions(+), 84 deletions(-) diff --git a/framework/router.class.php b/framework/router.class.php index d9f6bfb2e9..ef53f43b6e 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -207,7 +207,6 @@ class router extends baseRouter $lang->productURCommon = zget($URList, $storyConcept->storyConcept, $config->URCommonList[$this->clientLang]); $lang->productSRCommon = zget($SRList, $storyConcept->storyConcept, $config->SRCommonList[$this->clientLang]); } - } parent::loadLang($moduleName, $appName); diff --git a/module/common/lang/de.php b/module/common/lang/de.php index fdfc0c54ac..b7beffcf89 100644 --- a/module/common/lang/de.php +++ b/module/common/lang/de.php @@ -342,7 +342,7 @@ $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->project->dividerMenu = ',story,team,product,'; +$lang->project->dividerMenu = ',projectstory,issue,story,team,product,'; $lang->task = new stdclass(); $lang->build = new stdclass(); @@ -869,11 +869,11 @@ $lang->menu->scrum->stakeholder = 'Stakeholder|stakeholder|browse'; /* Waterfall menu. */ $lang->menu->waterfall = new stdclass(); -$lang->menu->waterfall->programindex = array('link' => 'Index|program|index|program={PROGRAM}'); -$lang->menu->waterfall->programplan = array('link' => 'Plan|programplan|browse|program={PROGRAM}', 'subModule' => 'programplan'); +$lang->menu->waterfall->programindex = array('link' => 'Index|program|index|program={PROJECT}'); +$lang->menu->waterfall->programplan = array('link' => 'Plan|programplan|browse|program={PROJECT}', 'subModule' => 'programplan'); $lang->menu->waterfall->project = array('link' => $lang->projectCommon . '|project|task|projectID={PROJECT}', 'subModule' => ',project,task,'); -$lang->menu->waterfall->weekly = array('link' => 'Weekly|weekly|index|program={PROGRAM}', 'subModule' => ',milestone,'); -$lang->menu->waterfall->doc = array('link' => 'Doc|doc|index|program={PROGRAM}'); +$lang->menu->waterfall->weekly = array('link' => 'Weekly|weekly|index|program={PROJECT}', 'subModule' => ',milestone,'); +$lang->menu->waterfall->doc = array('link' => 'Doc|doc|index|program={PROJECT}'); $lang->menu->waterfall->product = array('link' => 'Story|product|browse|product={PRODUCT}', 'subModule' => ',story,'); $lang->menu->waterfall->design = 'Design|design|browse|product={PRODUCT}'; $lang->menu->waterfall->ci = 'Code|repo|browse|'; @@ -881,7 +881,7 @@ $lang->menu->waterfall->qa = array('link' => 'QA|bug|browse|product= $lang->menu->waterfall->projectrelease = array('link' => 'Release|projectrelease|browse|product={PRODUCT}'); $lang->menu->waterfall->issue = 'Issue|issue|browse|'; $lang->menu->waterfall->risk = 'Risk|risk|browse|'; -$lang->menu->waterfall->list = array('link' => 'More|workestimation|index|program={PROGRAM}', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder'); +$lang->menu->waterfall->list = array('link' => 'More|workestimation|index|program={PROJECT}', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder'); $lang->waterfall = new stdclass(); $lang->waterfall->subMenu = new stdclass(); @@ -926,15 +926,15 @@ $lang->durationestimation->menu = new stdclass(); $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder|browse|', 'alias' => 'create,edit,view,batchcreate'); $lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|'); -$lang->workestimation->menu->index = 'Workload|workestimation|index|program={PROGRAM}'; -$lang->workestimation->menu->duration = array('link' => 'Duration|durationestimation|index|program={PROGRAM}', 'subModule' => 'durationestimation'); +$lang->workestimation->menu->index = 'Workload|workestimation|index|program={PROJECT}'; +$lang->workestimation->menu->duration = array('link' => 'Duration|durationestimation|index|program={PROJECT}', 'subModule' => 'durationestimation'); $lang->workestimation->menu->budget = array('link' => 'Budget|budget|summary|', 'subModule' => 'budget'); $lang->durationestimation->menu = $lang->workestimation->menu; $lang->budget->menu = $lang->workestimation->menu; -$lang->programplan->menu->gantt = array('link' => 'Gantt|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=gantt'); -$lang->programplan->menu->lists = array('link' => 'Stage|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=lists', 'alias' => 'create'); +$lang->programplan->menu->gantt = array('link' => 'Gantt|programplan|browse|programID={PROJECT}&productID={PRODUCT}&type=gantt'); +$lang->programplan->menu->lists = array('link' => 'Stage|programplan|browse|programID={PROJECT}&productID={PRODUCT}&type=lists', 'alias' => 'create'); $lang->waterfallproduct->menu->plan = array('link' => "{$lang->planCommon}|productplan|browse|productID={PRODUCT}", 'subModule' => 'productplan'); $lang->waterfallproduct->menu->story = 'Story|product|browse|product={PRODUCT}'; diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 7ec526d826..ac7cc91c45 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -342,7 +342,7 @@ $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->project->dividerMenu = ',story,team,product,'; +$lang->project->dividerMenu = ',projectstory,issue,story,team,product,'; $lang->task = new stdclass(); $lang->build = new stdclass(); @@ -869,11 +869,11 @@ $lang->menu->scrum->stakeholder = 'Stakeholder|stakeholder|browse'; /* Waterfall menu. */ $lang->menu->waterfall = new stdclass(); -$lang->menu->waterfall->programindex = array('link' => 'Index|program|index|program={PROGRAM}'); -$lang->menu->waterfall->programplan = array('link' => 'Plan|programplan|browse|program={PROGRAM}', 'subModule' => 'programplan'); +$lang->menu->waterfall->programindex = array('link' => 'Index|program|index|program={PROJECT}'); +$lang->menu->waterfall->programplan = array('link' => 'Plan|programplan|browse|program={PROJECT}', 'subModule' => 'programplan'); $lang->menu->waterfall->project = array('link' => $lang->projectCommon . '|project|task|projectID={PROJECT}', 'subModule' => ',project,task,'); -$lang->menu->waterfall->weekly = array('link' => 'Weekly|weekly|index|program={PROGRAM}', 'subModule' => ',milestone,'); -$lang->menu->waterfall->doc = array('link' => 'Doc|doc|index|program={PROGRAM}'); +$lang->menu->waterfall->weekly = array('link' => 'Weekly|weekly|index|program={PROJECT}', 'subModule' => ',milestone,'); +$lang->menu->waterfall->doc = array('link' => 'Doc|doc|index|program={PROJECT}'); $lang->menu->waterfall->product = array('link' => 'Story|product|browse|product={PRODUCT}', 'subModule' => ',story,'); $lang->menu->waterfall->design = 'Design|design|browse|product={PRODUCT}'; $lang->menu->waterfall->ci = 'Code|repo|browse|'; @@ -881,7 +881,7 @@ $lang->menu->waterfall->qa = array('link' => 'QA|bug|browse|product= $lang->menu->waterfall->projectrelease = array('link' => 'Release|projectrelease|browse|product={PRODUCT}'); $lang->menu->waterfall->issue = 'Issue|issue|browse|'; $lang->menu->waterfall->risk = 'Risk|risk|browse|'; -$lang->menu->waterfall->list = array('link' => 'More|workestimation|index|program={PROGRAM}', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder'); +$lang->menu->waterfall->list = array('link' => 'More|workestimation|index|program={PROJECT}', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder'); $lang->waterfall = new stdclass(); $lang->waterfall->subMenu = new stdclass(); @@ -926,15 +926,15 @@ $lang->durationestimation->menu = new stdclass(); $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder|browse|', 'alias' => 'create,edit,view,batchcreate'); $lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|'); -$lang->workestimation->menu->index = 'Workload|workestimation|index|program={PROGRAM}'; -$lang->workestimation->menu->duration = array('link' => 'Duration|durationestimation|index|program={PROGRAM}', 'subModule' => 'durationestimation'); +$lang->workestimation->menu->index = 'Workload|workestimation|index|program={PROJECT}'; +$lang->workestimation->menu->duration = array('link' => 'Duration|durationestimation|index|program={PROJECT}', 'subModule' => 'durationestimation'); $lang->workestimation->menu->budget = array('link' => 'Budget|budget|summary|', 'subModule' => 'budget'); $lang->durationestimation->menu = $lang->workestimation->menu; $lang->budget->menu = $lang->workestimation->menu; -$lang->programplan->menu->gantt = array('link' => 'Gantt|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=gantt'); -$lang->programplan->menu->lists = array('link' => 'Stage|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=lists', 'alias' => 'create'); +$lang->programplan->menu->gantt = array('link' => 'Gantt|programplan|browse|programID={PROJECT}&productID={PRODUCT}&type=gantt'); +$lang->programplan->menu->lists = array('link' => 'Stage|programplan|browse|programID={PROJECT}&productID={PRODUCT}&type=lists', 'alias' => 'create'); $lang->waterfallproduct->menu->plan = array('link' => "{$lang->planCommon}|productplan|browse|productID={PRODUCT}", 'subModule' => 'productplan'); $lang->waterfallproduct->menu->story = 'Story|product|browse|product={PRODUCT}'; diff --git a/module/common/lang/fr.php b/module/common/lang/fr.php index 347ff8b6cc..92c3c01591 100644 --- a/module/common/lang/fr.php +++ b/module/common/lang/fr.php @@ -342,7 +342,7 @@ $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->project->dividerMenu = ',story,team,product,'; +$lang->project->dividerMenu = ',projectstory,issue,story,team,product,'; $lang->task = new stdclass(); $lang->build = new stdclass(); @@ -869,11 +869,11 @@ $lang->menu->scrum->stakeholder = 'Stakeholder|stakeholder|browse'; /* Waterfall menu. */ $lang->menu->waterfall = new stdclass(); -$lang->menu->waterfall->programindex = array('link' => 'Index|program|index|program={PROGRAM}'); -$lang->menu->waterfall->programplan = array('link' => 'Plan|programplan|browse|program={PROGRAM}', 'subModule' => 'programplan'); +$lang->menu->waterfall->programindex = array('link' => 'Index|program|index|program={PROJECT}'); +$lang->menu->waterfall->programplan = array('link' => 'Plan|programplan|browse|program={PROJECT}', 'subModule' => 'programplan'); $lang->menu->waterfall->project = array('link' => $lang->projectCommon . '|project|task|projectID={PROJECT}', 'subModule' => ',project,task,'); -$lang->menu->waterfall->weekly = array('link' => 'Weekly|weekly|index|program={PROGRAM}', 'subModule' => ',milestone,'); -$lang->menu->waterfall->doc = array('link' => 'Doc|doc|index|program={PROGRAM}'); +$lang->menu->waterfall->weekly = array('link' => 'Weekly|weekly|index|program={PROJECT}', 'subModule' => ',milestone,'); +$lang->menu->waterfall->doc = array('link' => 'Doc|doc|index|program={PROJECT}'); $lang->menu->waterfall->product = array('link' => 'Story|product|browse|product={PRODUCT}', 'subModule' => ',story,'); $lang->menu->waterfall->design = 'Design|design|browse|product={PRODUCT}'; $lang->menu->waterfall->ci = 'Code|repo|browse|'; @@ -881,7 +881,7 @@ $lang->menu->waterfall->qa = array('link' => 'QA|bug|browse|product= $lang->menu->waterfall->projectrelease = array('link' => 'Release|projectrelease|browse|product={PRODUCT}'); $lang->menu->waterfall->issue = 'Issue|issue|browse|'; $lang->menu->waterfall->risk = 'Risk|risk|browse|'; -$lang->menu->waterfall->list = array('link' => 'More|workestimation|index|program={PROGRAM}', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder'); +$lang->menu->waterfall->list = array('link' => 'More|workestimation|index|program={PROJECT}', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder'); $lang->waterfall = new stdclass(); $lang->waterfall->subMenu = new stdclass(); @@ -926,15 +926,15 @@ $lang->durationestimation->menu = new stdclass(); $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder|browse|', 'alias' => 'create,edit,view,batchcreate'); $lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|'); -$lang->workestimation->menu->index = 'Workload|workestimation|index|program={PROGRAM}'; -$lang->workestimation->menu->duration = array('link' => 'Duration|durationestimation|index|program={PROGRAM}', 'subModule' => 'durationestimation'); +$lang->workestimation->menu->index = 'Workload|workestimation|index|program={PROJECT}'; +$lang->workestimation->menu->duration = array('link' => 'Duration|durationestimation|index|program={PROJECT}', 'subModule' => 'durationestimation'); $lang->workestimation->menu->budget = array('link' => 'Budget|budget|summary|', 'subModule' => 'budget'); $lang->durationestimation->menu = $lang->workestimation->menu; $lang->budget->menu = $lang->workestimation->menu; -$lang->programplan->menu->gantt = array('link' => 'Gantt|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=gantt'); -$lang->programplan->menu->lists = array('link' => 'Stage|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=lists', 'alias' => 'create'); +$lang->programplan->menu->gantt = array('link' => 'Gantt|programplan|browse|programID={PROJECT}&productID={PRODUCT}&type=gantt'); +$lang->programplan->menu->lists = array('link' => 'Stage|programplan|browse|programID={PROJECT}&productID={PRODUCT}&type=lists', 'alias' => 'create'); $lang->waterfallproduct->menu->plan = array('link' => "{$lang->planCommon}|productplan|browse|productID={PRODUCT}", 'subModule' => 'productplan'); $lang->waterfallproduct->menu->story = 'Story|product|browse|product={PRODUCT}'; diff --git a/module/common/lang/vi.php b/module/common/lang/vi.php index f91cfb41f0..6742cdbe60 100644 --- a/module/common/lang/vi.php +++ b/module/common/lang/vi.php @@ -342,7 +342,7 @@ $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->project->dividerMenu = ',story,team,product,'; +$lang->project->dividerMenu = ',projectstory,issue,story,team,product,'; $lang->task = new stdclass(); $lang->build = new stdclass(); @@ -869,11 +869,11 @@ $lang->menu->scrum->stakeholder = 'Stakeholder|stakeholder|browse'; /* Waterfall menu. */ $lang->menu->waterfall = new stdclass(); -$lang->menu->waterfall->programindex = array('link' => 'Index|program|index|program={PROGRAM}'); -$lang->menu->waterfall->programplan = array('link' => 'Plan|programplan|browse|program={PROGRAM}', 'subModule' => 'programplan'); +$lang->menu->waterfall->programindex = array('link' => 'Index|program|index|program={PROJECT}'); +$lang->menu->waterfall->programplan = array('link' => 'Plan|programplan|browse|program={PROJECT}', 'subModule' => 'programplan'); $lang->menu->waterfall->project = array('link' => $lang->projectCommon . '|project|task|projectID={PROJECT}', 'subModule' => ',project,task,'); -$lang->menu->waterfall->weekly = array('link' => 'Weekly|weekly|index|program={PROGRAM}', 'subModule' => ',milestone,'); -$lang->menu->waterfall->doc = array('link' => 'Doc|doc|index|program={PROGRAM}'); +$lang->menu->waterfall->weekly = array('link' => 'Weekly|weekly|index|program={PROJECT}', 'subModule' => ',milestone,'); +$lang->menu->waterfall->doc = array('link' => 'Doc|doc|index|program={PROJECT}'); $lang->menu->waterfall->product = array('link' => 'Story|product|browse|product={PRODUCT}', 'subModule' => ',story,'); $lang->menu->waterfall->design = 'Design|design|browse|product={PRODUCT}'; $lang->menu->waterfall->ci = 'Code|repo|browse|'; @@ -881,7 +881,7 @@ $lang->menu->waterfall->qa = array('link' => 'QA|bug|browse|product= $lang->menu->waterfall->projectrelease = array('link' => 'Release|projectrelease|browse|product={PRODUCT}'); $lang->menu->waterfall->issue = 'Issue|issue|browse|'; $lang->menu->waterfall->risk = 'Risk|risk|browse|'; -$lang->menu->waterfall->list = array('link' => 'More|workestimation|index|program={PROGRAM}', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder'); +$lang->menu->waterfall->list = array('link' => 'More|workestimation|index|program={PROJECT}', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder'); $lang->waterfall = new stdclass(); $lang->waterfall->subMenu = new stdclass(); @@ -926,15 +926,15 @@ $lang->durationestimation->menu = new stdclass(); $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder|browse|', 'alias' => 'create,edit,view,batchcreate'); $lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|'); -$lang->workestimation->menu->index = 'Workload|workestimation|index|program={PROGRAM}'; -$lang->workestimation->menu->duration = array('link' => 'Duration|durationestimation|index|program={PROGRAM}', 'subModule' => 'durationestimation'); +$lang->workestimation->menu->index = 'Workload|workestimation|index|program={PROJECT}'; +$lang->workestimation->menu->duration = array('link' => 'Duration|durationestimation|index|program={PROJECT}', 'subModule' => 'durationestimation'); $lang->workestimation->menu->budget = array('link' => 'Budget|budget|summary|', 'subModule' => 'budget'); $lang->durationestimation->menu = $lang->workestimation->menu; $lang->budget->menu = $lang->workestimation->menu; -$lang->programplan->menu->gantt = array('link' => 'Gantt|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=gantt'); -$lang->programplan->menu->lists = array('link' => 'Stage|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=lists', 'alias' => 'create'); +$lang->programplan->menu->gantt = array('link' => 'Gantt|programplan|browse|programID={PROJECT}&productID={PRODUCT}&type=gantt'); +$lang->programplan->menu->lists = array('link' => 'Stage|programplan|browse|programID={PROJECT}&productID={PRODUCT}&type=lists', 'alias' => 'create'); $lang->waterfallproduct->menu->plan = array('link' => "{$lang->planCommon}|productplan|browse|productID={PRODUCT}", 'subModule' => 'productplan'); $lang->waterfallproduct->menu->story = 'Story|product|browse|product={PRODUCT}'; diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 0d9211bc79..eaef34e859 100755 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -167,7 +167,7 @@ $lang->product->menu->list = array('link' => $lang->productCommon . '|product|al $lang->product->viewMenu = new stdclass(); if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->viewMenu->story = array('link' => "$lang->productSRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story'); -$lang->product->viewMenu->track = array('link' => "跟踪矩阵|story|track|productID=%s"); +if($config->URAndSR) $lang->product->viewMenu->track = array('link' => "跟踪矩阵|story|track|productID=%s"); $lang->product->viewMenu->plan = array('link' => "计划|productplan|browse|productID=%s", 'subModule' => 'productplan'); $lang->product->viewMenu->release = array('link' => '发布|release|browse|productID=%s', 'subModule' => 'release'); $lang->product->viewMenu->roadmap = '路线图|product|roadmap|productID=%s'; @@ -343,7 +343,7 @@ $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->project->dividerMenu = ',story,team,product,'; +$lang->project->dividerMenu = ',projectstory,issue,story,team,product,'; $lang->task = new stdclass(); $lang->build = new stdclass(); @@ -870,24 +870,30 @@ $lang->menu->scrum->doc = '文档|doc|index|'; $lang->menu->scrum->qa = '测试|qa|index'; $lang->menu->scrum->projectrelease = array('link' => '发布|projectrelease|browse|product={PRODUCT}'); $lang->menu->scrum->stakeholder = '干系人|stakeholder|browse'; +$lang->menu->scrum->list = array('link' => '更多|program|prjedit|program={PROJECT}', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder'); + +$lang->scrum = new stdclass(); +$lang->scrum->subMenu = new stdclass(); +$lang->scrum->subMenu->list = new stdclass(); +$lang->scrum->subMenu->list->program = '项目|program|edit|'; /* Waterfall menu. */ $lang->menu->waterfall = new stdclass(); -$lang->menu->waterfall->programindex = array('link' => '仪表盘|program|index|program={PROGRAM}'); -$lang->menu->waterfall->programplan = array('link' => '计划|programplan|browse|program={PROGRAM}', 'subModule' => 'programplan'); -$lang->menu->waterfall->project = array('link' => $lang->projectCommon . '|project|task|projectID={PROJECT}', 'subModule' => ',project,task,'); -$lang->menu->waterfall->weekly = array('link' => '报告|weekly|index|program={PROGRAM}', 'subModule' => ',milestone,'); -$lang->menu->waterfall->doc = array('link' => '文档|doc|index|program={PROGRAM}'); -$lang->menu->waterfall->projectstory = array('link' => '需求|projectstory|requirement', 'subModule' => 'requirement,story,track'); -//$lang->menu->waterfall->product = array('link' => '需求|product|browse|product={PRODUCT}', 'subModule' => ',story,'); -$lang->menu->waterfall->design = '设计|design|browse|product={PRODUCT}'; -$lang->menu->waterfall->ci = '代码|repo|browse|'; -$lang->menu->waterfall->qa = array('link' => '测试|bug|browse|product={PRODUCT}', 'subModule' => ',testcase,testtask,testsuite,testreport,caselib,'); +$lang->menu->waterfall->programindex = array('link' => '仪表盘|program|index|program={PROGRAM}'); +$lang->menu->waterfall->programplan = array('link' => '计划|programplan|browse|program={PROGRAM}', 'subModule' => 'programplan'); +$lang->menu->waterfall->project = array('link' => $lang->projectCommon . '|project|task|projectID={PROJECT}', 'subModule' => ',project,task,'); +$lang->menu->waterfall->weekly = array('link' => '报告|weekly|index|program={PROGRAM}', 'subModule' => ',milestone,'); +$lang->menu->waterfall->doc = array('link' => '文档|doc|index|program={PROGRAM}'); +$lang->menu->waterfall->projectstory = array('link' => '需求|projectstory|requirement', 'subModule' => 'requirement,story,track'); +//$lang->menu->waterfall->product = array('link' => '需求|product|browse|product={PRODUCT}', 'subModule' => ',story,'); +$lang->menu->waterfall->design = '设计|design|browse|product={PRODUCT}'; +$lang->menu->waterfall->ci = '代码|repo|browse|'; +$lang->menu->waterfall->qa = array('link' => '测试|bug|browse|product={PRODUCT}', 'subModule' => ',testcase,testtask,testsuite,testreport,caselib,'); $lang->menu->waterfall->projectrelease = array('link' => '发布|projectrelease|browse|product={PRODUCT}'); //$lang->menu->waterfall->release = array('link' => '发布|release|browse|product={PRODUCT}', 'subModule' => 'release'); $lang->menu->waterfall->issue = '问题|issue|browse|'; $lang->menu->waterfall->risk = '风险|risk|browse|'; -$lang->menu->waterfall->list = array('link' => '更多|workestimation|index|program={PROGRAM}', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder'); +$lang->menu->waterfall->list = array('link' => '更多|workestimation|index|program={PROJECT}', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder'); $lang->waterfall = new stdclass(); $lang->waterfall->subMenu = new stdclass(); @@ -934,15 +940,15 @@ $lang->projectstory->menu = new stdclass(); $lang->stakeholder->menu->list = array('link' => '干系人列表|stakeholder|browse|', 'alias' => 'create,edit,view,batchcreate'); $lang->stakeholder->menu->issue = array('link' => '问题管理|stakeholder|issue|'); -$lang->workestimation->menu->index = '工作量估算|workestimation|index|program={PROGRAM}'; -$lang->workestimation->menu->duration = array('link' => '工期估算|durationestimation|index|program={PROGRAM}', 'subModule' => 'durationestimation'); +$lang->workestimation->menu->index = '工作量估算|workestimation|index|program={PROJECT}'; +$lang->workestimation->menu->duration = array('link' => '工期估算|durationestimation|index|program={PROJECT}', 'subModule' => 'durationestimation'); $lang->workestimation->menu->budget = array('link' => '费用估算|budget|summary|', 'subModule' => 'budget'); $lang->durationestimation->menu = $lang->workestimation->menu; $lang->budget->menu = $lang->workestimation->menu; -$lang->programplan->menu->gantt = array('link' => '甘特图|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=gantt'); -$lang->programplan->menu->lists = array('link' => '阶段列表|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=lists', 'alias' => 'create'); +$lang->programplan->menu->gantt = array('link' => '甘特图|programplan|browse|programID={PROJECT}&productID={PRODUCT}&type=gantt'); +$lang->programplan->menu->lists = array('link' => '阶段列表|programplan|browse|programID={PROJECT}&productID={PRODUCT}&type=lists', 'alias' => 'create'); $lang->projectstory->menu->requirement = array('link' => '用户需求|projectstory|requirement', 'subModule' => ''); $lang->projectstory->menu->story = array('link' => '软件需求|projectstory|story', 'subModule' => ''); diff --git a/module/common/model.php b/module/common/model.php index 8df0b5e31e..1178cf57d7 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -447,32 +447,35 @@ class commonModel extends model $moduleName = $app->getModuleName(); $methodName = $app->getMethodName(); - foreach($lang->menu->waterfall as $key => $menu) + foreach(array('waterfall', 'scrum') as $model) { - /* Replace for dropdown submenu. */ - if(isset($lang->waterfall->subMenu->$key)) - { - $programSubMenu = $lang->waterfall->subMenu->$key; - $subMenu = common::createSubMenu($programSubMenu, $app->session->PRJ); - - if(!empty($subMenu)) + foreach($lang->menu->$model as $key => $menu) + { + /* Replace for dropdown submenu. */ + if(isset($lang->$model->subMenu->$key)) { - foreach($subMenu as $menuKey => $menu) - { - $itemMenu = zget($programSubMenu, $menuKey, ''); - $isActive['method'] = ($moduleName == strtolower($menu->link['module']) and $methodName == strtolower($menu->link['method'])); - $isActive['alias'] = ($moduleName == strtolower($menu->link['module']) and (is_array($itemMenu) and isset($itemMenu['alias']) and strpos($itemMenu['alias'], $methodName) !== false)); - $isActive['subModule'] = (is_array($itemMenu) and isset($itemMenu['subModule']) and strpos($itemMenu['subModule'], $moduleName) !== false); + $programSubMenu = $lang->$model->subMenu->$key; + $subMenu = common::createSubMenu($programSubMenu, $app->session->PRJ); - if($isActive['method'] or $isActive['alias'] or $isActive['subModule']) + if(!empty($subMenu)) + { + foreach($subMenu as $menuKey => $menu) { - $lang->menu->waterfall->{$key}['link'] = $menu->text . "|" . join('|', $menu->link); - break; + $itemMenu = zget($programSubMenu, $menuKey, ''); + $isActive['method'] = ($moduleName == strtolower($menu->link['module']) and $methodName == strtolower($menu->link['method'])); + $isActive['alias'] = ($moduleName == strtolower($menu->link['module']) and (is_array($itemMenu) and isset($itemMenu['alias']) and strpos($itemMenu['alias'], $methodName) !== false)); + $isActive['subModule'] = (is_array($itemMenu) and isset($itemMenu['subModule']) and strpos($itemMenu['subModule'], $moduleName) !== false); + + if($isActive['method'] or $isActive['alias'] or $isActive['subModule']) + { + $lang->menu->$model->{$key}['link'] = $menu->text . "|" . join('|', $menu->link); + break; + } } + $lang->menu->$model->{$key}['subMenu'] = $subMenu; } - $lang->menu->waterfall->{$key}['subMenu'] = $subMenu; - } - } + } + } } } @@ -2312,9 +2315,9 @@ EOD; { $link = is_array($setting) ? $setting['link'] : $setting; - if(strpos($link, "{PRODUCT}") !== false) $link = str_replace('{PRODUCT}', $app->session->product, $link); - if(strpos($link, "{PROJECT}") !== false) $link = str_replace('{PROJECT}', $app->session->project, $link); - if(strpos($link, "{PROGRAM}") !== false) $link = str_replace('{PROGRAM}', $app->session->PRJ, $link); + if(strpos($link, "{PRODUCT}") !== false) $link = str_replace('{PRODUCT}', $app->session->product, $link); + if(strpos($link, "{EXECUTION}") !== false) $link = str_replace('{EXECUTION}', $app->session->project, $link); + if(strpos($link, "{PROJECT}") !== false) $link = str_replace('{PROJECT}', $app->session->PRJ, $link); if(is_array($setting)) { @@ -2345,6 +2348,7 @@ EOD; $program = $dbh->query("SELECT * FROM " . TABLE_PROGRAM . " WHERE `id` = '{$app->session->PRJ}'")->fetch(); if(empty($program)) return; + self::initProgramSubmenu(); if($program->model == 'scrum') { $lang->menuOrder = $lang->scrum->menuOrder; @@ -2360,7 +2364,6 @@ EOD; $lang->menugroup->release = ''; $lang->menuOrder = $lang->waterfall->menuOrder; $lang->program->dividerMenu = ',product,issue,'; - self::initProgramSubmenu(); return self::processMenuVars($lang->menu->waterfall); } } @@ -2383,6 +2386,12 @@ EOD; $lang->navGroup->product = 'project'; $lang->$moduleName->menu = self::processMenuVars($lang->$moduleName->menu); } + if($program->model == 'scrum') + { + unset($lang->stakeholder->menu->issue); + unset($lang->stakeholder->menu->plan); + unset($lang->stakeholder->menu->expectation); + } } /** diff --git a/module/custom/js/configurescrum.js b/module/custom/js/configurescrum.js index 972fb87827..44b7b87da4 100644 --- a/module/custom/js/configurescrum.js +++ b/module/custom/js/configurescrum.js @@ -10,7 +10,6 @@ $(function() else { $('#URSRName').removeClass('hidden'); - $('#customURSR').removeClass('hidden'); } }); diff --git a/module/custom/js/configurewaterfall.js b/module/custom/js/configurewaterfall.js index 13af9a1e0f..49f633ae10 100644 --- a/module/custom/js/configurewaterfall.js +++ b/module/custom/js/configurewaterfall.js @@ -10,7 +10,6 @@ $(function() else { $('#URSRName').removeClass('hidden'); - $('#customURSR').removeClass('hidden'); } }); diff --git a/module/product/view/create.html.php b/module/product/view/create.html.php index 19df3f53bb..06393df12a 100644 --- a/module/product/view/create.html.php +++ b/module/product/view/create.html.php @@ -55,11 +55,13 @@ + URAndSR):?> product->storyConcept;?> custom->URSRList, zget($config->custom, 'URSRName', 1), "class='form-control chosen'");?> + product->status;?> diff --git a/module/program/view/prjcreate.html.php b/module/program/view/prjcreate.html.php index 5388473981..4dba723267 100644 --- a/module/program/view/prjcreate.html.php +++ b/module/program/view/prjcreate.html.php @@ -130,12 +130,14 @@ printExtendFields('', 'table');?> + URAndSR):?> program->PRJStoryConcept;?> custom->URSRList, zget($config->custom, 'URSRName', 1), "class='form-control chosen'");?> + program->PRJDesc;?> diff --git a/module/program/view/prjedit.html.php b/module/program/view/prjedit.html.php index 41f33035d4..227c219843 100644 --- a/module/program/view/prjedit.html.php +++ b/module/program/view/prjedit.html.php @@ -128,12 +128,14 @@ + URAndSR):?> program->PRJStoryConcept;?> custom->URSRList, $project->storyConcept, "class='form-control chosen'");?> + program->PRJDesc;?>