* Code for task #83209.

This commit is contained in:
Yagami
2023-01-31 08:54:50 +08:00
parent 05aeb36db0
commit fd399560f9
12 changed files with 57 additions and 25 deletions
+4 -1
View File
@@ -169,7 +169,8 @@ $lang->block->default['scrum']['project']['4']['grid'] = 4;
$lang->block->default['scrum']['project']['5']['title'] = 'Dynamic';
$lang->block->default['scrum']['project']['5']['block'] = 'projectdynamic';
$lang->block->default['scrum']['project']['5']['grid'] = 4;
$lang->block->default['kanban'] = $lang->block->default['scrum'];
$lang->block->default['kanban'] = $lang->block->default['scrum'];
$lang->block->default['agileplus'] = $lang->block->default['scrum'];
$lang->block->default['product']['1']['title'] = $lang->productCommon . ' Berichte';
$lang->block->default['product']['1']['block'] = 'statistic';
@@ -375,6 +376,8 @@ $lang->block->modules['scrum']['index']->availableBlocks->sprint = $lang
$lang->block->modules['scrum']['index']->availableBlocks->scrumtest = 'Test Version';
$lang->block->modules['scrum']['index']->availableBlocks->projectdynamic = 'Dynamics';
$lang->block->modules['agileplus']['index'] = $lang->block->modules['scrum']['index'];
$lang->block->modules['waterfall']['index'] = new stdclass();
$lang->block->modules['waterfall']['index']->availableBlocks = new stdclass();
$lang->block->modules['waterfall']['index']->availableBlocks->waterfallgantt = 'Plan Gantt Chart';
+4 -1
View File
@@ -169,7 +169,8 @@ $lang->block->default['scrum']['project']['4']['grid'] = 4;
$lang->block->default['scrum']['project']['5']['title'] = 'Dynamic';
$lang->block->default['scrum']['project']['5']['block'] = 'projectdynamic';
$lang->block->default['scrum']['project']['5']['grid'] = 4;
$lang->block->default['kanban'] = $lang->block->default['scrum'];
$lang->block->default['kanban'] = $lang->block->default['scrum'];
$lang->block->default['agileplus'] = $lang->block->default['scrum'];
$lang->block->default['product']['1']['title'] = $lang->productCommon . ' Report';
$lang->block->default['product']['1']['block'] = 'statistic';
@@ -375,6 +376,8 @@ $lang->block->modules['scrum']['index']->availableBlocks->sprint = $lang
$lang->block->modules['scrum']['index']->availableBlocks->scrumtest = 'Test Version';
$lang->block->modules['scrum']['index']->availableBlocks->projectdynamic = 'Dynamics';
$lang->block->modules['agileplus']['index'] = $lang->block->modules['scrum']['index'];
$lang->block->modules['waterfall']['index'] = new stdclass();
$lang->block->modules['waterfall']['index']->availableBlocks = new stdclass();
$lang->block->modules['waterfall']['index']->availableBlocks->waterfallgantt = 'Plan Gantt Chart';
+4 -1
View File
@@ -169,7 +169,8 @@ $lang->block->default['scrum']['project']['4']['grid'] = 4;
$lang->block->default['scrum']['project']['5']['title'] = 'Dynamic';
$lang->block->default['scrum']['project']['5']['block'] = 'projectdynamic';
$lang->block->default['scrum']['project']['5']['grid'] = 4;
$lang->block->default['kanban'] = $lang->block->default['scrum'];
$lang->block->default['kanban'] = $lang->block->default['scrum'];
$lang->block->default['agileplus'] = $lang->block->default['scrum'];
$lang->block->default['product']['1']['title'] = ' Rapport de ' . $lang->productCommon;
$lang->block->default['product']['1']['block'] = 'statistic';
@@ -375,6 +376,8 @@ $lang->block->modules['scrum']['index']->availableBlocks->sprint = $lang
$lang->block->modules['scrum']['index']->availableBlocks->scrumtest = 'Test Version';
$lang->block->modules['scrum']['index']->availableBlocks->projectdynamic = 'Dynamics';
$lang->block->modules['agileplus']['index'] = $lang->block->modules['scrum']['index'];
$lang->block->modules['waterfall']['index'] = new stdclass();
$lang->block->modules['waterfall']['index']->availableBlocks = new stdclass();
$lang->block->modules['waterfall']['index']->availableBlocks->waterfallgantt = 'Plan Gantt Chart';
+4 -1
View File
@@ -169,7 +169,8 @@ $lang->block->default['scrum']['project']['4']['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['kanban'] = $lang->block->default['scrum'];
$lang->block->default['kanban'] = $lang->block->default['scrum'];
$lang->block->default['agileplus'] = $lang->block->default['scrum'];
$lang->block->default['product']['1']['title'] = $lang->productCommon . '统计';
$lang->block->default['product']['1']['block'] = 'statistic';
@@ -375,6 +376,8 @@ $lang->block->modules['scrum']['index']->availableBlocks->sprint = $lang
$lang->block->modules['scrum']['index']->availableBlocks->scrumtest = '待测版本';
$lang->block->modules['scrum']['index']->availableBlocks->projectdynamic = '最新动态';
$lang->block->modules['agileplus']['index'] = $lang->block->modules['scrum']['index'];
$lang->block->modules['waterfall']['index'] = new stdclass();
$lang->block->modules['waterfall']['index']->availableBlocks = new stdclass();
$lang->block->modules['waterfall']['index']->availableBlocks->waterfallgantt = "项目计划";
+3
View File
@@ -142,10 +142,13 @@ $config->project->checkList = new stdclass();
$config->project->checkList->scrum = array('bug', 'execution', 'build', 'doc', 'release', 'testtask', 'case');
$config->project->checkList->waterfall = array('execution', 'design', 'doc', 'bug', 'case', 'build', 'release', 'testtask');
$config->project->checkList->kanban = array('execution', 'build');
$config->project->checkList->agileplus = $config->project->checkList->scrum;
$config->project->maxCheckList = new stdclass();
$config->project->maxCheckList->scrum = array('bug', 'execution', 'build', 'doc', 'release', 'testtask', 'case', 'issue', 'risk', 'meeting');
$config->project->maxCheckList->waterfall = array('execution', 'design', 'doc', 'bug', 'case', 'build', 'release', 'testtask', 'review', 'build', 'researchplan', 'issue', 'risk', 'opportunity', 'auditplan', 'gapanalysis', 'meeting');
$config->project->maxCheckList->kanban = array('execution', 'build');
$config->project->maxCheckList->agileplus = $config->project->maxCheckList->scrum;
$config->project->search['module'] = 'project';
$config->project->search['fields']['name'] = $lang->project->name;
+4 -1
View File
@@ -271,6 +271,7 @@ $lang->project->modelList[''] = '';
$lang->project->modelList['scrum'] = "Scrum";
if(helper::hasFeature('waterfall')) $lang->project->modelList['waterfall'] = "CMMI";
$lang->project->modelList['kanban'] = "Kanban";
$lang->project->modelList['agileplus'] = "Agile +";
$lang->project->featureBar['browse']['all'] = 'All';
$lang->project->featureBar['browse']['undone'] = 'Unfinished';
@@ -327,6 +328,7 @@ $lang->project->endList[999] = 'Longtime';
$lang->project->scrumTitle = 'Agile Development Management';
$lang->project->waterfallTitle = 'CMMI';
$lang->project->kanbanTitle = 'Kanban Project Management';
$lang->project->agileplusTitle = 'Integrating Agile and Kanban Project Management';
$lang->project->empty = 'No project.';
$lang->project->nextStep = 'Next step';
@@ -337,6 +339,7 @@ $lang->project->lastKanban = 'Recent Kanban';
$lang->project->ongoingStage = 'Ongoing stage';
$lang->project->scrum = 'Scrum';
$lang->project->waterfall = 'CMMI';
$lang->project->agileplus = 'Agile +';
$lang->project->cannotCreateChild = 'It is not empty, so you cannot add a child. You can add a parent for it, and then create a child.';
$lang->project->emptyPM = 'No manager';
$lang->project->emptyBranch = 'Branch can not be empty!';
@@ -384,4 +387,4 @@ $lang->project->copyProject->endTips = '『Schedule End』Cannot be e
$lang->project->copyProject->daysTips = '『Available working days』Should be numerical.';
$lang->project->linkBranchStoryByPlanTips = "When the project is scheduled to associate requirements, only the activated requirements associated with the %s of the project are imported.";
$lang->project->linkNormalStoryByPlanTips = "When the project plans to associate requirements, only the requirements that are active are imported.";
$lang->project->linkNormalStoryByPlanTips = "When the project plans to associate requirements, only the requirements that are active are imported.";
+4 -1
View File
@@ -271,6 +271,7 @@ $lang->project->modelList[''] = '';
$lang->project->modelList['scrum'] = "Scrum";
if(helper::hasFeature('waterfall')) $lang->project->modelList['waterfall'] = "CMMI";
$lang->project->modelList['kanban'] = "Kanban";
$lang->project->modelList['agileplus'] = "Agile +";
$lang->project->featureBar['browse']['all'] = 'All';
$lang->project->featureBar['browse']['undone'] = 'Unfinished';
@@ -327,6 +328,7 @@ $lang->project->endList[999] = 'Longtime';
$lang->project->scrumTitle = 'Agile Development Management';
$lang->project->waterfallTitle = 'Waterfall Project Management';
$lang->project->kanbanTitle = 'Kanban Project Management';
$lang->project->agileplusTitle = 'Integrating Agile and Kanban Project Management';
$lang->project->empty = 'No project.';
$lang->project->nextStep = 'Next step';
@@ -337,6 +339,7 @@ $lang->project->lastKanban = 'Recent Kanban';
$lang->project->ongoingStage = 'Ongoing stage';
$lang->project->scrum = 'Scrum';
$lang->project->waterfall = 'Waterfall';
$lang->project->agileplus = 'Agile +';
$lang->project->cannotCreateChild = 'It is not empty, so you cannot add a child. You can add a parent for it, and then create a child.';
$lang->project->emptyPM = 'No manager';
$lang->project->emptyBranch = 'Branch can not be empty!';
@@ -384,4 +387,4 @@ $lang->project->copyProject->endTips = '『Schedule End』Cannot be e
$lang->project->copyProject->daysTips = '『Available working days』Should be numerical.';
$lang->project->linkBranchStoryByPlanTips = "When the project is scheduled to associate requirements, only the activated requirements associated with the %s of the project are imported.";
$lang->project->linkNormalStoryByPlanTips = "When the project plans to associate requirements, only the requirements that are active are imported.";
$lang->project->linkNormalStoryByPlanTips = "When the project plans to associate requirements, only the requirements that are active are imported.";
+7 -4
View File
@@ -267,10 +267,11 @@ $lang->project->currencySymbol['NZD'] = 'NZ$';
$lang->project->currencySymbol['THB'] = '฿';
$lang->project->currencySymbol['SGD'] = 'S$';
$lang->project->modelList[''] = '';
$lang->project->modelList['scrum'] = "Scrum";
$lang->project->modelList[''] = '';
$lang->project->modelList['scrum'] = "Scrum";
if(helper::hasFeature('waterfall')) $lang->project->modelList['waterfall'] = "CMMI";
$lang->project->modelList['kanban'] = "Kanban";
$lang->project->modelList['kanban'] = "Kanban";
$lang->project->modelList['agileplus'] = "Agile +";
$lang->project->featureBar['browse']['all'] = 'All';
$lang->project->featureBar['browse']['undone'] = 'Non Terminées';
@@ -327,6 +328,7 @@ $lang->project->endList[999] = 'Longtime';
$lang->project->scrumTitle = 'Agile Development Management';
$lang->project->waterfallTitle = 'Waterfall Project Management';
$lang->project->kanbanTitle = 'Kanban Project Management';
$lang->project->agileplusTitle = 'Integrating Agile and Kanban Project Management';
$lang->project->empty = 'No project.';
$lang->project->nextStep = 'Next step';
@@ -337,6 +339,7 @@ $lang->project->lastKanban = 'Recent Kanban';
$lang->project->ongoingStage = 'Ongoing stage';
$lang->project->scrum = 'Scrum';
$lang->project->waterfall = 'CMMI';
$lang->project->agileplus = 'Agile +';
$lang->project->cannotCreateChild = 'It is not empty, so you cannot add a child. You can add a parent for it, and then create a child.';
$lang->project->emptyPM = 'No manager';
$lang->project->emptyBranch = 'Branch can not be empty!';
@@ -384,4 +387,4 @@ $lang->project->copyProject->endTips = '『Schedule End』Cannot be e
$lang->project->copyProject->daysTips = '『Available working days』Should be numerical.';
$lang->project->linkBranchStoryByPlanTips = "When the project is scheduled to associate requirements, only the activated requirements associated with the %s of the project are imported.";
$lang->project->linkNormalStoryByPlanTips = "When the project plans to associate requirements, only the requirements that are active are imported.";
$lang->project->linkNormalStoryByPlanTips = "When the project plans to associate requirements, only the requirements that are active are imported.";
+9 -6
View File
@@ -267,10 +267,11 @@ $lang->project->currencySymbol['NZD'] = 'NZ$';
$lang->project->currencySymbol['THB'] = '฿';
$lang->project->currencySymbol['SGD'] = 'S$';
$lang->project->modelList[''] = "";
$lang->project->modelList['scrum'] = "Scrum";
$lang->project->modelList[''] = "";
$lang->project->modelList['scrum'] = "Scrum";
if(helper::hasFeature('waterfall')) $lang->project->modelList['waterfall'] = "瀑布";
$lang->project->modelList['kanban'] = "看板";
$lang->project->modelList['kanban'] = "看板";
$lang->project->modelList['agileplus'] = "融合敏捷";
$lang->project->featureBar['browse']['all'] = '全部';
$lang->project->featureBar['browse']['undone'] = '未完成';
@@ -324,9 +325,10 @@ $lang->project->endList[186] = '半年';
$lang->project->endList[365] = '一年';
$lang->project->endList[999] = '长期';
$lang->project->scrumTitle = '敏捷开发全流程项目管理';
$lang->project->waterfallTitle = '瀑布式项目管理';
$lang->project->kanbanTitle = '专业研发看板项目管理';
$lang->project->scrumTitle = '敏捷开发全流程项目管理';
$lang->project->waterfallTitle = '瀑布式项目管理';
$lang->project->kanbanTitle = '专业研发看板项目管理';
$lang->project->agileplusTitle = '融合敏捷开发与看板项目管理';
$lang->project->empty = '暂时没有项目';
$lang->project->nextStep = '下一步';
@@ -337,6 +339,7 @@ $lang->project->lastKanban = '近期看板';
$lang->project->ongoingStage = '进行中的阶段';
$lang->project->scrum = 'Scrum';
$lang->project->waterfall = '瀑布';
$lang->project->agileplus = '融合敏捷';
$lang->project->cannotCreateChild = '该项目已经有实际的内容,无法直接添加子项目。您可以为当前项目创建一个父项目,然后在新的父项目下面添加子项目。';
$lang->project->emptyPM = '暂无';
$lang->project->emptyBranch = '分支不能为空!';
+1 -1
View File
@@ -79,7 +79,7 @@
<td><?php echo html::input('code', $code, "class='form-control' required");?></td>
</tr>
<?php endif;?>
<?php if($model != 'waterfall'):?>
<?php if($model != 'waterfall' and $model != 'agileplus'):?>
<tr>
<th><?php echo $lang->project->multiple;?></th>
<td colspan='3'>
+12 -7
View File
@@ -14,20 +14,18 @@
#guideDialog .project-type-img {width: 280px; border: 1px solid #CBD0DB; border-radius: 2px; margin-bottom: 10px; cursor: pointer; margin-top: 1px}
#guideDialog .project-type-img:hover {border-color: #006AF1; box-shadow: 0 0 10px 0 rgba(0,0,0,.25);}
#guideDialog .project-type.active img {border-color: #006AF1; border-width: 2px; margin-top: 0}
.col {width: 50%}
</style>
<div class='modal-content'>
<div class='modal-body'>
<button class="close" data-dismiss="modal">x</button>
<h2 class='text-center'><?php echo $lang->project->chooseProgramType; ?></h2>
<div class='row'>
<?php
$hasWaterfall = helper::hasFeature('waterfall');
$colClass = $hasWaterfall ? 'col-xs-4' : 'col-xs-6';
?>
<div class='<?php echo $colClass?>'>
<div class='col col-xs-4'>
<?php
$tab = $from == 'global' ? 'project' : $app->tab;
if($tab == 'product') $tab = 'project';
$hasWaterfall = helper::hasFeature('waterfall');
?>
<div class='project-type text-center'>
<?php echo html::a($this->createLink("project", "create", "model=scrum&programID=$programID&copyProjectID=0&extra=productID=$productID,branchID=$branchID"), "<img class='project-type-img' data-type='scrum' src='{$config->webRoot}theme/default/images/main/scrum.png'>", '', "data-app='{$tab}' class='createButton'")?>
@@ -36,7 +34,7 @@
</div>
</div>
<?php if($hasWaterfall):?>
<div class='<?php echo $colClass?>'>
<div class='col col-xs-4'>
<div class='project-type text-center'>
<?php echo html::a($this->createLink("project", "create", "model=waterfall&programID=$programID&copyProjectID=0&extra=productID=$productID,branchID=$branchID"), "<img class='project-type-img' data-type='waterfall' src='{$config->webRoot}theme/default/images/main/waterfall.png'>", '', "data-app='{$tab}' class='createButton'")?>
<h3><?php echo $lang->project->waterfall; ?></h3>
@@ -44,13 +42,20 @@
</div>
</div>
<?php endif;?>
<div class='<?php echo $colClass?>'>
<div class='col col-xs-4'>
<div class='project-type text-center'>
<?php echo html::a($this->createLink("project", "create", "model=kanban&programID=$programID&copyProjectID=0&extra=productID=$productID,branchID=$branchID"), "<img class='project-type-img' data-type='kanban' src='{$config->webRoot}theme/default/images/main/kanban.png'>", '', "data-app='{$tab}' class='createButton'")?>
<h3><?php echo $lang->project->kanban;?></h3>
<p><?php echo $lang->project->kanbanTitle;?></p>
</div>
</div>
<div class='col col-xs-4'>
<div class='project-type text-center'>
<?php echo html::a($this->createLink("project", "create", "model=agileplus&programID=$programID&copyProjectID=0&extra=productID=$productID,branchID=$branchID"), "<img class='project-type-img' data-type='kanban' src='{$config->webRoot}theme/default/images/main/kanban.png'>", '', "data-app='{$tab}' class='createButton'")?>
<h3><?php echo $lang->project->agileplus;?></h3>
<p><?php echo $lang->project->agileplusTitle;?></p>
</div>
</div>
</div>
</div>
</div>
+1 -1
View File
@@ -80,7 +80,7 @@
<td><?php echo html::input('code', $project->code, "class='form-control' required");?></td>
</tr>
<?php endif;?>
<?php if($model != 'waterfall'):?>
<?php if($model != 'waterfall' and $model != 'agileplus'):?>
<tr>
<th><?php echo $lang->project->multiple;?></th>
<td colspan='3'><?php echo nl2br(html::radio('multiple', $lang->project->multipleList, $project->multiple, 'disabled'));?></td>