From d9f5c53e0b352213284871ccc2589124fbf7ab21 Mon Sep 17 00:00:00 2001 From: hufangzhou Date: Thu, 15 Jul 2021 15:54:08 +0800 Subject: [PATCH 1/5] * Adjust the code. --- module/gitlab/config.php | 13 ++++++------- module/gitlab/lang/en.php | 3 +-- module/gitlab/lang/zh-cn.php | 2 +- module/gitlab/view/binduser.html.php | 16 +++++++++------- module/gitlab/view/browse.html.php | 24 ++++++++++++------------ module/gitlab/view/create.html.php | 16 ++++++++-------- module/gitlab/view/edit.html.php | 21 ++++++++++----------- module/gitlab/view/importissue.html.php | 20 ++++++++++---------- 8 files changed, 57 insertions(+), 58 deletions(-) diff --git a/module/gitlab/config.php b/module/gitlab/config.php index 14917d23b7..ce436353cc 100644 --- a/module/gitlab/config.php +++ b/module/gitlab/config.php @@ -65,7 +65,7 @@ $config->gitlab->taskWeightMap['1'] = '1'; $config->gitlab->taskWeightMap['2'] = '2'; $config->gitlab->taskWeightMap['3'] = '3'; -$config->gitlab->taskStateMap = array(); +$config->gitlab->taskStateMap = array(); $config->gitlab->taskStateMap['doing'] = 'opened'; $config->gitlab->taskStateMap['wait'] = 'opened'; $config->gitlab->taskStateMap['closed'] = 'closed'; @@ -100,9 +100,8 @@ $config->gitlab->objectTables->story = TABLE_STORY; $config->gitlab->objectTables->task = TABLE_TASK; $config->gitlab->objectTables->bug = TABLE_BUG; -$config->gitlab->objectTypes = array(); -$config->gitlab->objectTypes[''] = ''; -$config->gitlab->objectTypes['task'] = '任务'; -$config->gitlab->objectTypes['bug'] = 'bug'; -$config->gitlab->objectTypes['story'] = '需求'; - +$config->gitlab->objectTypes = array(); +$config->gitlab->objectTypes[''] = ''; +$config->gitlab->objectTypes['task'] = '任务'; +$config->gitlab->objectTypes['bug'] = 'bug'; +$config->gitlab->objectTypes['story'] = '需求'; diff --git a/module/gitlab/lang/en.php b/module/gitlab/lang/en.php index 17dbaabd4b..9aa8b0fab0 100644 --- a/module/gitlab/lang/en.php +++ b/module/gitlab/lang/en.php @@ -21,7 +21,7 @@ $lang->gitlab->zentaoProduct = 'Zentao Product'; $lang->gitlab->objectType = 'Type'; // task, bug, story $lang->gitlab->id = 'ID'; -$lang->gitlab->name = "{$lang->gitlab->common}name"; +$lang->gitlab->name = "{$lang->gitlab->common} name"; $lang->gitlab->url = 'GitLab URL'; $lang->gitlab->token = 'Token'; $lang->gitlab->defaultProject = 'Default Project'; @@ -43,4 +43,3 @@ $lang->gitlab->hostError = "Invalid GitLab service address."; $lang->gitlab->bindUserError = "Can not bind users repeatedly %s"; $lang->gitlab->importIssueError = "The execution to which this issue belongs is not selected."; $lang->gitlab->importIssueWarn = "There is a problem of import failure, you can try to import again."; - diff --git a/module/gitlab/lang/zh-cn.php b/module/gitlab/lang/zh-cn.php index ea5df297f8..6babb7617a 100644 --- a/module/gitlab/lang/zh-cn.php +++ b/module/gitlab/lang/zh-cn.php @@ -16,7 +16,7 @@ $lang->gitlab->zentaoAccount = '禅道用户'; $lang->gitlab->browseAction = 'GitLab列表'; $lang->gitlab->deleteAction = '删除GitLab'; $lang->gitlab->gitlabProject = "{$lang->gitlab->common}项目"; -$lang->gitlab->gitlabIssue = "{$lang->gitlab->common}issue"; +$lang->gitlab->gitlabIssue = "{$lang->gitlab->common} issue"; $lang->gitlab->zentaoProduct = '禅道产品'; $lang->gitlab->objectType = '类型'; // task, bug, story diff --git a/module/gitlab/view/binduser.html.php b/module/gitlab/view/binduser.html.php index e634429c64..fec3c08652 100644 --- a/module/gitlab/view/binduser.html.php +++ b/module/gitlab/view/binduser.html.php @@ -28,10 +28,11 @@ zentaoAccount)) continue;?> - avatar, "height=40");?> + avatar, "height=40");?> - realname;?> -
account . " <" . $gitlabUser->email . ">"; ?> + realname;?> +
+ account . " <" . $gitlabUser->email . ">";?> id]", $userPairs, '', "class='form-control select chosen'" );?> @@ -39,10 +40,11 @@ zentaoAccount)) continue;?> - avatar, "height=40");?> + avatar, "height=40");?> realname;?> -
account . " <" . $gitlabUser->email . ">";?> +
+ account . " <" . $gitlabUser->email . ">";?> id]", $userPairs, $gitlabUser->zentaoAccount, "class='form-control select chosen'" );?> @@ -51,8 +53,8 @@ - - goback, '', 'class="btn btn-wide"'); ?> + + goback, '', 'class="btn btn-wide"');?> diff --git a/module/gitlab/view/browse.html.php b/module/gitlab/view/browse.html.php index dd3311b1dd..629400146e 100644 --- a/module/gitlab/view/browse.html.php +++ b/module/gitlab/view/browse.html.php @@ -10,7 +10,7 @@ * @link http://www.zentao.net */ ?> - + - + diff --git a/module/gitlab/view/edit.html.php b/module/gitlab/view/edit.html.php index c3ae150608..f489baac3b 100644 --- a/module/gitlab/view/edit.html.php +++ b/module/gitlab/view/edit.html.php @@ -10,34 +10,33 @@ * @link http://www.zentao.net */ ?> - +
-

gitlab->edit; ?>

+

gitlab->edit;?>

- - + + - - + + - - +
gitlab->name; ?>name, "class='form-control' placeholder='{$lang->gitlab->placeholder->name}'"); ?>gitlab->name;?>name, "class='form-control' placeholder='{$lang->gitlab->placeholder->name}'");?>
gitlab->url; ?>url, "class='form-control' placeholder='{$lang->gitlab->placeholder->url}'"); ?>gitlab->url;?>url, "class='form-control' placeholder='{$lang->gitlab->placeholder->url}'");?>
gitlab->token;?> token, "class='form-control' placeholder='{$lang->gitlab->placeholder->token}'");?>
- - goback, '', 'class="btn btn-wide"'); ?> + + goback, '', 'class="btn btn-wide"');?>
@@ -45,4 +44,4 @@
- + diff --git a/module/gitlab/view/importissue.html.php b/module/gitlab/view/importissue.html.php index dcbf7f6a3a..4cbc45235c 100644 --- a/module/gitlab/view/importissue.html.php +++ b/module/gitlab/view/importissue.html.php @@ -15,7 +15,7 @@

gitlab->importIssue;?>

- +
@@ -30,29 +30,29 @@ - + - + - + -
web_url}' target='_blank'>$issue->title"; ?>web_url}' target='_blank'>$issue->title";?> iid}]", $objectTypes, '', "class='form-control select chosen'" );?> iid}]", $products, '', "class='form-control select chosen'" );?> iid}]", '', '', "class='form-control select chosen'" );?>
save);?> - createLink('repo', 'maintain', ""), $lang->goback, '', 'class="btn btn-wide"'); ?> + createLink('repo', 'maintain', ""), $lang->goback, '', 'class="btn btn-wide"');?>
+
- - - gitlab->noImportableIssues; ?> - + + + gitlab->noImportableIssues;?> + From 1531bb805b419544e37e22ac882a5ea9512fed56 Mon Sep 17 00:00:00 2001 From: holan20180123 Date: Thu, 15 Jul 2021 15:58:05 +0800 Subject: [PATCH 2/5] * Adjust create product required field. --- module/product/view/create.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/product/view/create.html.php b/module/product/view/create.html.php index 4ccd01da23..4ba5d04185 100644 --- a/module/product/view/create.html.php +++ b/module/product/view/create.html.php @@ -24,7 +24,7 @@ config->systemMode == 'new'):?> program->common;?> - + From 1f4d75765d1060afeb575735a7cc69a919155993 Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Thu, 15 Jul 2021 16:03:56 +0800 Subject: [PATCH 3/5] * Adjust lang. --- module/upgrade/lang/de.php | 2 +- module/upgrade/lang/en.php | 2 +- module/upgrade/lang/fr.php | 2 +- module/upgrade/lang/vi.php | 2 +- module/upgrade/lang/zh-cn.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/module/upgrade/lang/de.php b/module/upgrade/lang/de.php index e6fda3ffc2..733fd7598f 100644 --- a/module/upgrade/lang/de.php +++ b/module/upgrade/lang/de.php @@ -101,7 +101,7 @@ $lang->upgrade->mergeProgramDesc = <<upgrade->line = 'Product Line'; -$lang->upgrade->allLines = 'All Lines'; +$lang->upgrade->allLines = "All {$lang->productComon} Lines"; $lang->upgrade->program = 'Merge Project'; $lang->upgrade->existProgram = 'Existing programs'; $lang->upgrade->existProject = 'Existing projects'; diff --git a/module/upgrade/lang/en.php b/module/upgrade/lang/en.php index eff7209a29..b7ab6acd3c 100644 --- a/module/upgrade/lang/en.php +++ b/module/upgrade/lang/en.php @@ -88,7 +88,7 @@ $lang->upgrade->selectedModeTips['classic'] = 'You can also switch to the new pr $lang->upgrade->selectedModeTips['new'] = 'Switching to the program management mode requires merging the previous data, and the system will guide you to complete this operation.'; $lang->upgrade->line = 'Product Line'; -$lang->upgrade->allLines = 'All Lines'; +$lang->upgrade->allLines = "All {$lang->productComon} Lines"; $lang->upgrade->program = 'Merge Project'; $lang->upgrade->existProgram = 'Existing programs'; $lang->upgrade->existProject = 'Existing projects'; diff --git a/module/upgrade/lang/fr.php b/module/upgrade/lang/fr.php index fbcd325fac..e56fe08ae3 100644 --- a/module/upgrade/lang/fr.php +++ b/module/upgrade/lang/fr.php @@ -102,7 +102,7 @@ $lang->upgrade->mergeProgramDesc = <<upgrade->line = 'Product Line'; -$lang->upgrade->allLines = 'All Lines'; +$lang->upgrade->allLines = "All {$lang->productComon} Lines"; $lang->upgrade->program = 'Merge Project'; $lang->upgrade->existProgram = 'Existing programs'; $lang->upgrade->existProject = 'Existing projects'; diff --git a/module/upgrade/lang/vi.php b/module/upgrade/lang/vi.php index aa640b035d..460d6db224 100644 --- a/module/upgrade/lang/vi.php +++ b/module/upgrade/lang/vi.php @@ -102,7 +102,7 @@ $lang->upgrade->mergeProgramDesc = <<upgrade->line = 'Product Line'; -$lang->upgrade->allLines = 'All Lines'; +$lang->upgrade->allLines = "All {$lang->productComon} Lines"; $lang->upgrade->program = 'Merge Project'; $lang->upgrade->existProgram = 'Existing programs'; $lang->upgrade->existProject = 'Existing projects'; diff --git a/module/upgrade/lang/zh-cn.php b/module/upgrade/lang/zh-cn.php index 543ef5a494..1d909d3fa4 100644 --- a/module/upgrade/lang/zh-cn.php +++ b/module/upgrade/lang/zh-cn.php @@ -89,7 +89,7 @@ $lang->upgrade->selectedModeTips['classic'] = '后续您还可以在后台-自 $lang->upgrade->selectedModeTips['new'] = '切换为项目集管理模式需要对之前的数据进行归并处理,系统会引导您完成这个操作。'; $lang->upgrade->line = '产品线'; -$lang->upgrade->allLines = '所有产品线'; +$lang->upgrade->allLines = "所有{$lang->productCommon}线"; $lang->upgrade->program = '目标项目集和项目'; $lang->upgrade->existProgram = '已有项目集'; $lang->upgrade->existProject = '已有项目'; From 6520a11545e7eddab1e4810c85831785cc655f94 Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Thu, 15 Jul 2021 16:33:51 +0800 Subject: [PATCH 4/5] * Adjust code. --- module/upgrade/js/mergeprogram.js | 325 +++++++++--------------------- 1 file changed, 94 insertions(+), 231 deletions(-) diff --git a/module/upgrade/js/mergeprogram.js b/module/upgrade/js/mergeprogram.js index 3ec0810a6f..3544e9f773 100644 --- a/module/upgrade/js/mergeprogram.js +++ b/module/upgrade/js/mergeprogram.js @@ -2,45 +2,33 @@ $(function() { if($('[id^=productLines]').length > 0) { - var checkedProduct = true; - var productLine = $('.nav li.active').attr('lineid'); - $("[id^='products\[" + productLine + "\]']").each(function() - { - if(!$(this).prop('checked')) - { - checkedProduct = false; - return false; - } - }) + var checkedProduct = true; + var productLine = $('.nav li.active').attr('lineid'); + var productNum = $("[id^='products\[" + productLine + "\]']").length; + var checkedProductNum = $("[id^='products\[" + productLine + "\]']:checked").length; + + if(productNum > checkedProductNum) checkedProduct = false; $("[id^='productLines\[" + productLine + "\]']").prop('checked', checkedProduct); $('#checkAllProducts').prop('checked', checkedProduct); $('#checkAllProjects').prop('checked', checkedProduct); } else if($('[id^=products]').length > 0) { - var checkedProduct = true; - $('[id^=products]').each(function() - { - if(!$(this).prop('checked')) - { - checkedProduct = false; - return false; - } - }) + var checkedProduct = true; + var productNum = $("[id^='products'").length; + var checkedProductNum = $("[id^='products']:checked").length; + + if(productNum > checkedProductNum) checkedProduct = false; $('#checkAllProducts').prop('checked', checkedProduct); $('#checkAllProjects').prop('checked', checkedProduct); } else if($('[id^=sprints]').length > 0) { - var checkedProject = true; - $('[id^=sprints]').each(function() - { - if(!$(this).prop('checked')) - { - checkedProject = false; - return false; - } - }) + var checkedProject = true; + var projectNum = $("[id^='sprints'").length; + var checkedProjectNum = $("[id^='sprints']:checked").length; + + if(projectNum > checkedProjectNum) checkedProject = false; $('#checkAllProjects').prop('checked', checkedProject); } @@ -132,14 +120,10 @@ $(function() } else { - $("[id^=sprints]").each(function() - { - if(!$(this).prop('checked')) - { - checkedProject = false; - return false; - } - }) + var projectNum = $("[id^='sprints'").length; + var checkedProjectNum = $("[id^='sprints']:checked").length; + + if(projectNum > checkedProjectNum) checkedProject = false; } $('#checkAllProjects').prop('checked', checkedProject); @@ -160,33 +144,7 @@ $(function() $('#checkAllLines').prop('checked', checkedLines); /* If the project is checked, the relevant form will be displayed according to the selected mode. */ - $('[id^=sprints]').each(function() - { - if($(this).prop('checked')) - { - hiddenProject(); - var projectType = $('input[name="projectType"]:checked').val(); - if(projectType == 'project') - { - $('.projectName').addClass('hidden'); - $('.projectAcl').addClass('hidden'); - $('.programAcl').removeClass('hidden'); - $('.projectStatus').addClass('hidden'); - $('[name=projectAcl]').attr('disabled', 'disabled'); - $('[name=programAcl]').removeAttr('disabled'); - } - if(projectType == 'execution') - { - $('.projectName').removeClass('hidden'); - $('.programAcl').addClass('hidden'); - $('.projectAcl').removeClass('hidden'); - $('.projectStatus').removeClass('hidden'); - $('[name=programAcl]').attr('disabled', 'disabled'); - $('[name=projectAcl]').removeAttr('disabled'); - } - return false; - } - }) + hiddenProject(); } }; @@ -219,34 +177,7 @@ $(function() } /* If the project is checked, the relevant form will be displayed according to the selected mode. */ - $('[id^=sprints]').each(function() - { - hiddenProject(); - if($(this).prop('checked')) - { - var projectType = $('input[name="projectType"]:checked').val(); - if(projectType == 'project') - { - $('.projectName').addClass('hidden'); - $('.projectAcl').addClass('hidden'); - $('.programAcl').removeClass('hidden'); - $('.projectStatus').addClass('hidden'); - $('[name=projectAcl]').attr('disabled', 'disabled'); - $('[name=programAcl]').removeAttr('disabled'); - } - - if(projectType == 'execution') - { - $('.projectName').removeClass('hidden'); - $('.programAcl').addClass('hidden'); - $('.projectAcl').removeClass('hidden'); - $('.projectStatus').removeClass('hidden'); - $('[name=programAcl]').attr('disabled', 'disabled'); - $('[name=projectAcl]').removeAttr('disabled'); - } - return false; - } - }) + hiddenProject(); }) /* Select all product events. */ @@ -325,41 +256,15 @@ $(function() } /* Determine whether all product line buttons are selected. */ - var checked = true; - $('[name^=productLines]').each(function() - { - if(!$(this).prop('checked') && $(this).val()) checked = false; - }) + var checked = true; + var lineNum = $("[id^='productLines'").length; + var checkedLineNum = $("[id^='productLines']:checked").length; + + if(lineNum > checkedLineNum) checked = false; $('#checkAllLines').prop('checked', checked); - hiddenProject(); /* If the project is checked, the relevant form will be displayed according to the selected mode. */ - $('[id^=sprints]').each(function() - { - if($(this).prop('checked')) - { - var projectType = $('input[name="projectType"]:checked').val(); - if(projectType == 'project') - { - $('.projectName').addClass('hidden'); - $('.projectAcl').addClass('hidden'); - $('.programAcl').removeClass('hidden'); - $('.projectStatus').addClass('hidden'); - $('[name=projectAcl]').attr('disabled', 'disabled'); - $('[name=programAcl]').removeAttr('disabled'); - } - if(projectType == 'execution') - { - $('.projectName').removeClass('hidden'); - $('.programAcl').addClass('hidden'); - $('.projectAcl').removeClass('hidden'); - $('.projectStatus').removeClass('hidden'); - $('[name=programAcl]').attr('disabled', 'disabled'); - $('[name=projectAcl]').removeAttr('disabled'); - } - return false; - } - }) + hiddenProject(); }) $('[name^=lines]').change(function() @@ -453,43 +358,18 @@ $(function() } /* Determine whether all products and all projects buttons are selected. */ - var checkedProduct = true; - var productLine = $('.nav li.active').attr('lineid'); - $("[id^='products\[" + productLine + "\]']").each(function() - { - if(!$(this).prop('checked')) checkedProduct = false; - }) + var checkedProduct = true; + var productLine = $('.nav li.active').attr('lineid'); + var productNum = $("[id^='products\[" + productLine + "\]'").length; + var checkedProductNum = $("[id^='products\[" + productLine + "\]']:checked").length; + + if(productNum > checkedProductNum) checkedProduct = false; $('#checkAllProducts').prop('checked', checkedProduct); $('#checkAllProjects').prop('checked', checkedProduct); + $("[id^='productLines\[" + productLine + "\]']").prop('checked', checkedProduct); /* Determines whether to display an project related form control. */ - $('[id^=sprints]').each(function() - { - if($(this).prop('checked')) - { - hiddenProject(); - var projectType = $('input[name="projectType"]:checked').val(); - if(projectType == 'project') - { - $('.projectName').addClass('hidden'); - $('.projectAcl').addClass('hidden'); - $('.programAcl').removeClass('hidden'); - $('.projectStatus').addClass('hidden'); - $('[name=projectAcl]').attr('disabled', 'disabled'); - $('[name=programAcl]').removeAttr('disabled'); - } - if(projectType == 'execution') - { - $('.projectName').removeClass('hidden'); - $('.programAcl').addClass('hidden'); - $('.projectAcl').removeClass('hidden'); - $('.projectStatus').removeClass('hidden'); - $('[name=programAcl]').attr('disabled', 'disabled'); - $('[name=projectAcl]').removeAttr('disabled'); - } - return false; - } - }) + hiddenProject(); /* If the product line is selected, the product and project are selected by default. */ $('[id^=productLines]').each(function() @@ -509,25 +389,17 @@ $(function() var lineID = $(this).attr('data-line'); if($('[id^=productLines]').length > 0) { - $("[id^='products\[" + lineID + "\]']").each(function() - { - if(!$(this).prop('checked')) - { - checked = false; - return false; - } - }) + var productNum = $("[id^='products\[" + lineID + "\]'").length; + var checkedProductNum = $("[id^='products\[" + lineID + "\]']:checked").length; + + if(productNum > checkedProductNum) checked = false; } else if($('[id^=products]').length > 0) { - $("[id^=products]").each(function() - { - if(!$(this).prop('checked')) - { - checked = false; - return false; - } - }) + var productNum = $("[id^='products'").length; + var checkedProductNum = $("[id^='products']:checked").length; + + if(productNum > checkedProductNum) checked = false; } $('#checkAllProducts').prop('checked', checked); @@ -545,30 +417,22 @@ $(function() $('[data-product=' + value + ']').prop('checked', false) } - var checkedSprint = true; + var checkedProject = true; if($('[id^=productLines]').length > 0) { - $("[id^='sprints\[" + lineID + "\]']").each(function() - { - if(!$(this).prop('checked')) - { - checkedSprint = false; - return false; - } - }) + var projectNum = $("[id^='sprints\[" + lineID + "\]'").length; + var checkedProjectNum = $("[id^='sprints\[" + lineID + "\]']:checked").length; + + if(projectNum > checkedProjectNum) checkedProject = false; } else if($('[id^=products]').length > 0) { - $("[id^=sprints]").each(function() - { - if(!$(this).prop('checked')) - { - checkedSprint = false; - return false; - } - }) + var projectNum = $("[id^='sprints'").length; + var checkedProjectNum = $("[id^='sprints']:checked").length; + + if(projectNum > checkedProjectNum) checkedProject = false; } - $('#checkAllProjects').prop('checked', checkedSprint); + $('#checkAllProjects').prop('checked', checkedProject); setProgramBegin(programBegin); setProgramEnd(programEnd); @@ -583,55 +447,34 @@ $(function() var checkedProduct = true; if($('[id^=productLines]').length > 0) { - var lineID = $(this).attr('data-line'); - $("[id^='sprints\[" + lineID + "\]']").each(function() - { - if(!$(this).prop('checked')) - { - checked = false; - return false; - } - }) + var lineID = $(this).attr('data-line'); + var projectNum = $("[id^='sprints\[" + lineID + "\]'").length; + var checkedProjectNum = $("[id^='sprints\[" + lineID + "\]']:checked").length; - $("[id^='products\[" + lineID + "\]']").each(function() - { - if(!$(this).prop('checked')) - { - checkedProduct = false; - return false; - } - }) + if(projectNum > checkedProjectNum) checked = false; + + var productNum = $("[id^='products\[" + lineID + "\]'").length; + var checkedProductNum = $("[id^='products\[" + lineID + "\]']:checked").length; + if(productNum > checkedProductNum) checkedProduct = false; } else if($('[id^=products]').length > 0) { - $("[id^=sprints]").each(function() - { - if(!$(this).prop('checked')) - { - checked = false; - return false; - } - }) + var projectNum = $("[id^='sprints'").length; + var checkedProjectNum = $("[id^='sprints']:checked").length; - $("[id^=products]").each(function() - { - if(!$(this).prop('checked')) - { - checkedProduct = false; - return false; - } - }) + if(projectNum > checkedProjectNum) checked = false; + + var productNum = $("[id^='products'").length; + var checkedProductNum = $("[id^='products']:checked").length; + + if(productNum > checkedProductNum) checkedProduct = false; } else if($('[id^=sprints]').length > 0) { - $("[id^=sprints]").each(function() - { - if(!$(this).prop('checked')) - { - checked = false; - return false; - } - }) + var projectNum = $("[id^='sprints'").length; + var checkedProjectNum = $("[id^='sprints']:checked").length; + + if(projectNum > checkedProjectNum) checked = false; } $('#checkAllProjects').prop('checked', checked); @@ -914,6 +757,26 @@ function hiddenProject() $('.programParams').show(); if($('#newProject0').is(':checked')) $('#projects').attr('disabled', 'disabled'); + + var projectType = $('input[name="projectType"]:checked').val(); + if(projectType == 'project') + { + $('.projectName').addClass('hidden'); + $('.projectAcl').addClass('hidden'); + $('.programAcl').removeClass('hidden'); + $('.projectStatus').addClass('hidden'); + $('[name=projectAcl]').attr('disabled', 'disabled'); + $('[name=programAcl]').removeAttr('disabled'); + } + if(projectType == 'execution') + { + $('.projectName').removeClass('hidden'); + $('.programAcl').addClass('hidden'); + $('.projectAcl').removeClass('hidden'); + $('.projectStatus').removeClass('hidden'); + $('[name=programAcl]').attr('disabled', 'disabled'); + $('[name=projectAcl]').removeAttr('disabled'); + } } } From f448f4d37e4c43243c93f6175bc26b7c05fecba6 Mon Sep 17 00:00:00 2001 From: zenggang Date: Thu, 15 Jul 2021 16:33:59 +0800 Subject: [PATCH 5/5] * Finish task #40002 --- module/upgrade/lang/de.php | 23 ++++++++++++++--------- module/upgrade/lang/en.php | 23 ++++++++++++++--------- module/upgrade/lang/fr.php | 23 ++++++++++++++--------- module/upgrade/lang/vi.php | 23 ++++++++++++++--------- module/upgrade/lang/zh-cn.php | 24 ++++++++++++++++-------- module/upgrade/view/to15guide.html.php | 2 +- 6 files changed, 73 insertions(+), 45 deletions(-) diff --git a/module/upgrade/lang/de.php b/module/upgrade/lang/de.php index 733fd7598f..71b75bfbeb 100644 --- a/module/upgrade/lang/de.php +++ b/module/upgrade/lang/de.php @@ -55,16 +55,21 @@ $lang->upgrade->toPMS15Guide = 'ZenTao open source version 15.0.beta1 upgrade'; $lang->upgrade->toPRO10Guide = 'ZenTao profession version 10.0.rc1 upgrade'; $lang->upgrade->toBIZ5Guide = 'ZenTao enterprise version 5.0.rc1 upgrade'; $lang->upgrade->to15Desc = <<Dear users, ZenTao has made adjustments to navigation and concepts since version 15. The main changes are as follows:

-
    -

  1. Added the concept of program. A program set can include multiple products and multiple projects.
  2. -

  3. Subdivided the concept of project and iteration, a project can contain multiple iterations.
  4. -

  5. The navigation adds a left menu and supports multi-page operations.
  6. -
+

ZenTao version 15.0 has major upgrade of features, including:

+

1. Add the concept of Program

+

A program is a collection of interrelated and coordinated projects. It is at the highest level and belongs to the concept of a strategic level. It has multi-level project management, helping managers to form strategic directions and allocate resources at a macro level.

+

2. Clarify the concept of Product and Project

+

Product defines what should be done and focuses on requirement management. Project defines how to do it and focuses on finishing tasks of the project within the specified time, budget and quality objectives. A project can be done in Agile or Waterfall, which is the management of the campaign level.

3. Add the concept of Project Model

+

The new version 15.0 adds a Waterfall model (available in ZenTao Max) to help the project team choose the right project management method according to their needs. Kanban model will be coming soon.

4. Add the concept of Execution

+

In Version 15.0, depending on the management model, a project can have multiple iterations/sprints/ phases which are Executions in ZenTao. Through executions, the project tasks are completed and the final outcome is delivered.

5. Adjust the Navigation

+

The top level navigation is moved to the left, and multi-application switching is added as new UI/UX.


-

You can experience the latest version of the function online to decide whether to enable the mode: Demo

-
-

How do you plan to use the new version of ZenTao?

+

You can try the online demo before you decide to enable new features: New Features Online Demo

+

You can also download an introduction PPT to help you understand it: New Features Introduction PPT

+ +

ZenTao Version 15.0 Introduction

+
+

How do you like to use ZenTao?

EOD; $lang->upgrade->to15Mode['classic'] = 'Keep the old version'; diff --git a/module/upgrade/lang/en.php b/module/upgrade/lang/en.php index b7ab6acd3c..752f2f95fb 100644 --- a/module/upgrade/lang/en.php +++ b/module/upgrade/lang/en.php @@ -58,16 +58,21 @@ $lang->upgrade->toPRO10Guide = 'ZenTao profession version 10.0.rc1 upgrade'; $lang->upgrade->toBIZ5Guide = 'ZenTao enterprise version 5.0.rc1 upgrade'; $lang->upgrade->toMAXGuide = 'ZenTao ultimate version upgrade'; $lang->upgrade->to15Desc = <<Dear users, ZenTao has made adjustments to navigation and concepts since version 15. The main changes are as follows:

-
    -

  1. Added the concept of program. A program set can include multiple products and multiple projects.
  2. -

  3. Subdivided the concept of project and iteration, a project can contain multiple iterations.
  4. -

  5. The navigation adds a left menu and supports multi-page operations.
  6. -
+

ZenTao version 15.0 has major upgrade of features, including:

+

1. Add the concept of Program

+

A program is a collection of interrelated and coordinated projects. It is at the highest level and belongs to the concept of a strategic level. It has multi-level project management, helping managers to form strategic directions and allocate resources at a macro level.

+

2. Clarify the concept of Product and Project

+

Product defines what should be done and focuses on requirement management. Project defines how to do it and focuses on finishing tasks of the project within the specified time, budget and quality objectives. A project can be done in Agile or Waterfall, which is the management of the campaign level.

3. Add the concept of Project Model

+

The new version 15.0 adds a Waterfall model (available in ZenTao Max) to help the project team choose the right project management method according to their needs. Kanban model will be coming soon.

4. Add the concept of Execution

+

In Version 15.0, depending on the management model, a project can have multiple iterations/sprints/ phases which are Executions in ZenTao. Through executions, the project tasks are completed and the final outcome is delivered.

5. Adjust the Navigation

+

The top level navigation is moved to the left, and multi-application switching is added as new UI/UX.


-

You can experience the latest version of the function online to decide whether to enable the mode: Demo

-
-

How do you plan to use the new version of ZenTao?

+

You can try the online demo before you decide to enable new features: New Features Online Demo

+

You can also download an introduction PPT to help you understand it: New Features Introduction PPT

+ +

ZenTao Version 15.0 Introduction

+
+

How do you like to use ZenTao?

EOD; $lang->upgrade->mergeProgramDesc = <<Next, ZenTao will migrate the existing data of {$lang->productCommon} and {$lang->projectCommon} to Program and Project. It will be one of the followings:


diff --git a/module/upgrade/lang/fr.php b/module/upgrade/lang/fr.php index e56fe08ae3..da447498ea 100644 --- a/module/upgrade/lang/fr.php +++ b/module/upgrade/lang/fr.php @@ -56,16 +56,21 @@ $lang->upgrade->toPMS15Guide = 'ZenTao open source version 15.0.beta1 upgrade'; $lang->upgrade->toPRO10Guide = 'ZenTao profession version 10.0.rc1 upgrade'; $lang->upgrade->toBIZ5Guide = 'ZenTao enterprise version 5.0.rc1 upgrade'; $lang->upgrade->to15Desc = <<Dear users, ZenTao has made adjustments to navigation and concepts since version 15. The main changes are as follows:

-
    -

  1. Added the concept of program. A program set can include multiple products and multiple projects.
  2. -

  3. Subdivided the concept of project and iteration, a project can contain multiple iterations.
  4. -

  5. The navigation adds a left menu and supports multi-page operations.
  6. -
+

ZenTao version 15.0 has major upgrade of features, including:

+

1. Add the concept of Program

+

A program is a collection of interrelated and coordinated projects. It is at the highest level and belongs to the concept of a strategic level. It has multi-level project management, helping managers to form strategic directions and allocate resources at a macro level.

+

2. Clarify the concept of Product and Project

+

Product defines what should be done and focuses on requirement management. Project defines how to do it and focuses on finishing tasks of the project within the specified time, budget and quality objectives. A project can be done in Agile or Waterfall, which is the management of the campaign level.

3. Add the concept of Project Model

+

The new version 15.0 adds a Waterfall model (available in ZenTao Max) to help the project team choose the right project management method according to their needs. Kanban model will be coming soon.

4. Add the concept of Execution

+

In Version 15.0, depending on the management model, a project can have multiple iterations/sprints/ phases which are Executions in ZenTao. Through executions, the project tasks are completed and the final outcome is delivered.

5. Adjust the Navigation

+

The top level navigation is moved to the left, and multi-application switching is added as new UI/UX.


-

You can experience the latest version of the function online to decide whether to enable the mode: Demo

-
-

How do you plan to use the new version of ZenTao?

+

You can try the online demo before you decide to enable new features: New Features Online Demo

+

You can also download an introduction PPT to help you understand it: New Features Introduction PPT

+ +

ZenTao Version 15.0 Introduction

+
+

How do you like to use ZenTao?

EOD; $lang->upgrade->to15Mode['classic'] = 'Keep the old version'; diff --git a/module/upgrade/lang/vi.php b/module/upgrade/lang/vi.php index 460d6db224..b951f3467e 100644 --- a/module/upgrade/lang/vi.php +++ b/module/upgrade/lang/vi.php @@ -56,16 +56,21 @@ $lang->upgrade->toPMS15Guide = 'ZenTao open source version 15.0.beta1 upgrade'; $lang->upgrade->toPRO10Guide = 'ZenTao profession version 10.0.rc1 upgrade'; $lang->upgrade->toBIZ5Guide = 'ZenTao enterprise version 5.0.rc1 upgrade'; $lang->upgrade->to15Desc = <<Dear users, ZenTao has made adjustments to navigation and concepts since version 15. The main changes are as follows:

-
    -

  1. Added the concept of program. A program set can include multiple products and multiple projects.
  2. -

  3. Subdivided the concept of project and iteration, a project can contain multiple iterations.
  4. -

  5. The navigation adds a left menu and supports multi-page operations.
  6. -
+

ZenTao version 15.0 has major upgrade of features, including:

+

1. Add the concept of Program

+

A program is a collection of interrelated and coordinated projects. It is at the highest level and belongs to the concept of a strategic level. It has multi-level project management, helping managers to form strategic directions and allocate resources at a macro level.

+

2. Clarify the concept of Product and Project

+

Product defines what should be done and focuses on requirement management. Project defines how to do it and focuses on finishing tasks of the project within the specified time, budget and quality objectives. A project can be done in Agile or Waterfall, which is the management of the campaign level.

3. Add the concept of Project Model

+

The new version 15.0 adds a Waterfall model (available in ZenTao Max) to help the project team choose the right project management method according to their needs. Kanban model will be coming soon.

4. Add the concept of Execution

+

In Version 15.0, depending on the management model, a project can have multiple iterations/sprints/ phases which are Executions in ZenTao. Through executions, the project tasks are completed and the final outcome is delivered.

5. Adjust the Navigation

+

The top level navigation is moved to the left, and multi-application switching is added as new UI/UX.


-

You can experience the latest version of the function online to decide whether to enable the mode: Demo

-
-

How do you plan to use the new version of ZenTao?

+

You can try the online demo before you decide to enable new features: New Features Online Demo

+

You can also download an introduction PPT to help you understand it: New Features Introduction PPT

+ +

ZenTao Version 15.0 Introduction

+
+

How do you like to use ZenTao?

EOD; $lang->upgrade->to15Mode['classic'] = 'Keep the old version'; diff --git a/module/upgrade/lang/zh-cn.php b/module/upgrade/lang/zh-cn.php index 1d909d3fa4..9fc22d1e68 100644 --- a/module/upgrade/lang/zh-cn.php +++ b/module/upgrade/lang/zh-cn.php @@ -58,15 +58,23 @@ $lang->upgrade->toPRO10Guide = '禅道专业版10版本升级'; $lang->upgrade->toBIZ5Guide = '禅道企业版5版本升级'; $lang->upgrade->toMAXGuide = '禅道旗舰版版本升级'; $lang->upgrade->to15Desc = <<尊敬的用户,禅道从15版本开始对导航和概念做了调整,主要改动如下:

-
    -

  1. 增加了项目集概念。一个项目集可以包括多个产品和多个项目。
  2. -

  3. 细分了项目和迭代概念,一个项目可以包含多个迭代。
  4. -

  5. 导航增加了左侧菜单并支持多页面操作。
  6. -
+

尊敬的用户,禅道从15版本开始系统功能做了重大升级,主要改动如下:

+

一、增加了项目集概念

+

项目集是一组相互关联,且被协调管理的项目集合,处于最高层级,属于战略层面的概念。它可以进行多层级管理,帮助管理者站在宏观的视角去制定战略方向和分配资源。

+

二、明确了产品和项目概念

+

产品是定义做什么,主要管理需求;项目是定义如何做,主要是在规定的时间、预算和质量目标范围内完成项目的各种工作,可以通过敏捷迭代的方式,也可以通过瀑布阶段的方式,属于战役层面的管理。

+

三、增加了项目模型概念

+

新版本在敏捷管理模型的基础上增加了瀑布管理模型(旗舰版提供),后续还会支持看板管理模型,帮助项目团队按需选择适合的项目管理方式。

+

四、增加了执行概念

+

新版本中,根据选择管理模型的不同,一个项目可以包含多个迭代/冲刺或阶段,我们把多个迭代/冲刺或阶段统称为执行,通过执行去完成项目的任务,交付最终的结果。

+

五、调整了导航结构

+

将一级导航调整到了界面左侧,同时增加了多应用切换的全新交互体验。

+
+

您可以在线体验最新版本的功能,以决定是否启用新的模式:最新版演示demo

+

您还可以下载新版本功能介绍PPT:最新版功能介绍PPT

+ +

禅道15.0版本介绍


-

您可以在线体验最新版本的功能,以决定是否启用的模式:演示demo

-

请问您计划如何使用禅道的新版本呢?

EOD; diff --git a/module/upgrade/view/to15guide.html.php b/module/upgrade/view/to15guide.html.php index a3ca30534b..54a38160b4 100644 --- a/module/upgrade/view/to15guide.html.php +++ b/module/upgrade/view/to15guide.html.php @@ -35,7 +35,7 @@ ?>
-
+
upgrade->to15Desc;?> upgrade->to15Mode['classic']) ? 'classic' : 'new';?> upgrade->to15Mode, $systemMode);?>