- | id);?> |
+ id));?> |
project->typeList, $execution->type);?>
From 71c32a05ed772c9a76a62d47e74e57ec73ad73e1 Mon Sep 17 00:00:00 2001
From: Yagami <976204163@qq.com>
Date: Wed, 30 Dec 2020 10:22:01 +0800
Subject: [PATCH 3/7] * Fix lang.
---
module/ci/model.php | 2 ++
module/common/lang/de.php | 17 +++++++++--------
module/common/lang/en.php | 17 +++++++++--------
module/common/lang/fr.php | 17 +++++++++--------
module/common/lang/vi.php | 15 ++++++++-------
module/common/lang/zh-cn.php | 17 +++++++++--------
6 files changed, 46 insertions(+), 39 deletions(-)
diff --git a/module/ci/model.php b/module/ci/model.php
index 340e826455..9a7728263f 100644
--- a/module/ci/model.php
+++ b/module/ci/model.php
@@ -26,7 +26,9 @@ class ciModel extends model
{
$this->lang->navGroup->jenkins = 'repo';
$this->lang->navGroup->job = 'repo';
+ $this->lang->navGroup->compile = 'repo';
$this->lang->noMenuModule[] = 'job';
+ $this->lang->noMenuModule[] = 'compile';
}
}
diff --git a/module/common/lang/de.php b/module/common/lang/de.php
index d22ded4793..523268bf59 100644
--- a/module/common/lang/de.php
+++ b/module/common/lang/de.php
@@ -740,8 +740,9 @@ $lang->pager->pageOfTotal = "Page {page} of {totalPage
$lang->colorPicker = new stdclass();
$lang->colorPicker->errorTip = 'Not a valid color value';
+global $config;
$lang->proVersion = "Upgrade";
-$lang->globalLogo = " ";
+$lang->globalLogo = " ";
$lang->downNotify = "Download Desktop Notification";
$lang->downloadClient = "Download ZenTao Desktop";
$lang->clientHelp = "Client Help";
@@ -885,14 +886,14 @@ $lang->menu->scrum->qa = 'QA|qa|index';
$lang->menu->scrum->ci = 'Code|repo|browse';
$lang->menu->scrum->projectbuild = array('link' => 'Build|projectbuild|browse|project={PROJECT}');
$lang->menu->scrum->projectrelease = array('link' => 'Release|projectrelease|browse');
-$lang->menu->scrum->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk');
+$lang->menu->scrum->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder');
$lang->menu->scrum->setting = array('link' => 'Setting|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list');
$lang->scrum = new stdclass();
$lang->scrum->subMenu = new stdclass();
$lang->scrum->subMenu->other = new stdclass();
-$lang->scrum->subMenu->other->issue = 'Issue|issue|browse|';;
-$lang->scrum->subMenu->other->risk = 'Risk|risk|browse|';;
+$lang->scrum->subMenu->other->issue = array('link' => 'Issue|issue|browse|', 'subModule' => 'issue');
+$lang->scrum->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
$lang->scrum->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
$lang->scrum->subMenu->setting = new stdclass();
@@ -911,14 +912,14 @@ $lang->menu->waterfall->ci = 'Code|repo|browse|';
$lang->menu->waterfall->qa = array('link' => 'QA|bug|browse|product={PRODUCT}', 'subModule' => ',testcase,testtask,testsuite,caselib,');
$lang->menu->waterfall->projectrelease = array('link' => 'Release|projectrelease|browse');
$lang->menu->waterfall->projectbuild = array('link' => 'Build|projectbuild|browse|project={PROJECT}');
-$lang->menu->waterfall->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk');
-$lang->menu->waterfall->setting = array('link' => 'Setting|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder');
+$lang->menu->waterfall->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder');
+$lang->menu->waterfall->setting = array('link' => 'Setting|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'workestimation,durationestimation,budget,pssp');
$lang->waterfall = new stdclass();
$lang->waterfall->subMenu = new stdclass();
$lang->waterfall->subMenu->other = new stdclass();
-$lang->waterfall->subMenu->other->issue = 'Issue|issue|browse|';;
-$lang->waterfall->subMenu->other->risk = 'Risk|risk|browse|';;
+$lang->waterfall->subMenu->other->issue = array('link' => 'Issue|issue|browse|', 'subModule' => 'issue');
+$lang->waterfall->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
$lang->waterfall->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
$lang->waterfall->subMenu->setting = new stdclass();
diff --git a/module/common/lang/en.php b/module/common/lang/en.php
index 362f475e41..75d1100f38 100644
--- a/module/common/lang/en.php
+++ b/module/common/lang/en.php
@@ -740,8 +740,9 @@ $lang->pager->pageOfTotal = "Page {page} of {totalPage
$lang->colorPicker = new stdclass();
$lang->colorPicker->errorTip = 'Not a valid color value';
+global $config;
$lang->proVersion = "Upgrade";
-$lang->globalLogo = " ";
+$lang->globalLogo = " ";
$lang->downNotify = "Download Desktop Notification";
$lang->downloadClient = "Download ZenTao Desktop";
$lang->clientHelp = "Client Help";
@@ -885,14 +886,14 @@ $lang->menu->scrum->qa = 'QA|qa|index';
$lang->menu->scrum->ci = 'Code|repo|browse';
$lang->menu->scrum->projectbuild = array('link' => 'Build|projectbuild|browse|project={PROJECT}');
$lang->menu->scrum->projectrelease = array('link' => 'Release|projectrelease|browse');
-$lang->menu->scrum->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk');
+$lang->menu->scrum->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder');
$lang->menu->scrum->setting = array('link' => 'Setting|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list');
$lang->scrum = new stdclass();
$lang->scrum->subMenu = new stdclass();
$lang->scrum->subMenu->other = new stdclass();
-$lang->scrum->subMenu->other->issue = 'Issue|issue|browse|';;
-$lang->scrum->subMenu->other->risk = 'Risk|risk|browse|';;
+$lang->scrum->subMenu->other->issue = array('link' => 'Issue|issue|browse|', 'subModule' => 'issue');
+$lang->scrum->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
$lang->scrum->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
$lang->scrum->subMenu->setting = new stdclass();
@@ -911,14 +912,14 @@ $lang->menu->waterfall->ci = 'Code|repo|browse|';
$lang->menu->waterfall->qa = array('link' => 'QA|bug|browse|product={PRODUCT}', 'subModule' => ',testcase,testtask,testsuite,caselib,');
$lang->menu->waterfall->projectrelease = array('link' => 'Release|projectrelease|browse');
$lang->menu->waterfall->projectbuild = array('link' => 'Build|projectbuild|browse|project={PROJECT}');
-$lang->menu->waterfall->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk');
-$lang->menu->waterfall->setting = array('link' => 'Setting|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder');
+$lang->menu->waterfall->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder');
+$lang->menu->waterfall->setting = array('link' => 'Setting|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'workestimation,durationestimation,budget,pssp');
$lang->waterfall = new stdclass();
$lang->waterfall->subMenu = new stdclass();
$lang->waterfall->subMenu->other = new stdclass();
-$lang->waterfall->subMenu->other->issue = 'Issue|issue|browse|';;
-$lang->waterfall->subMenu->other->risk = 'Risk|risk|browse|';;
+$lang->waterfall->subMenu->other->issue = array('link' => 'Issue|issue|browse|', 'subModule' => 'issue');
+$lang->waterfall->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
$lang->waterfall->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
$lang->waterfall->subMenu->setting = new stdclass();
diff --git a/module/common/lang/fr.php b/module/common/lang/fr.php
index a1e6d08612..870abe447e 100644
--- a/module/common/lang/fr.php
+++ b/module/common/lang/fr.php
@@ -740,8 +740,9 @@ $lang->pager->pageOfTotal = "Page {page} sur {totalPag
$lang->colorPicker = new stdclass();
$lang->colorPicker->errorTip = "Ce n'est pas une valeur de couleur valide";
+global $config;
$lang->proVersion = "Upgrade";
-$lang->globalLogo = " ";
+$lang->globalLogo = " ";
$lang->downNotify = "Télécharger la notification sur le bureau";
$lang->downloadClient = "Télécharger ZenTao Desktop";
$lang->clientHelp = "Aide Client";
@@ -885,14 +886,14 @@ $lang->menu->scrum->qa = 'QA|qa|index';
$lang->menu->scrum->ci = 'Code|repo|browse';
$lang->menu->scrum->projectbuild = array('link' => 'Build|projectbuild|browse|project={PROJECT}');
$lang->menu->scrum->projectrelease = array('link' => 'Release|projectrelease|browse');
-$lang->menu->scrum->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk');
+$lang->menu->scrum->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder');
$lang->menu->scrum->setting = array('link' => 'Setting|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list');
$lang->scrum = new stdclass();
$lang->scrum->subMenu = new stdclass();
$lang->scrum->subMenu->other = new stdclass();
-$lang->scrum->subMenu->other->issue = 'Issue|issue|browse|';;
-$lang->scrum->subMenu->other->risk = 'Risk|risk|browse|';;
+$lang->scrum->subMenu->other->issue = array('link' => 'Issue|issue|browse|', 'subModule' => 'issue');
+$lang->scrum->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
$lang->scrum->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
$lang->scrum->subMenu->setting = new stdclass();
@@ -911,14 +912,14 @@ $lang->menu->waterfall->ci = 'Code|repo|browse|';
$lang->menu->waterfall->qa = array('link' => 'QA|bug|browse|product={PRODUCT}', 'subModule' => ',testcase,testtask,testsuite,caselib,');
$lang->menu->waterfall->projectrelease = array('link' => 'Release|projectrelease|browse');
$lang->menu->waterfall->projectbuild = array('link' => 'Build|projectbuild|browse|project={PROJECT}');
-$lang->menu->waterfall->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk');
-$lang->menu->waterfall->setting = array('link' => 'Setting|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder');
+$lang->menu->waterfall->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder');
+$lang->menu->waterfall->setting = array('link' => 'Setting|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'workestimation,durationestimation,budget,pssp');
$lang->waterfall = new stdclass();
$lang->waterfall->subMenu = new stdclass();
$lang->waterfall->subMenu->other = new stdclass();
-$lang->waterfall->subMenu->other->issue = 'Issue|issue|browse|';;
-$lang->waterfall->subMenu->other->risk = 'Risk|risk|browse|';;
+$lang->waterfall->subMenu->other->issue = array('link' => 'Issue|issue|browse|', 'subModule' => 'issue');
+$lang->waterfall->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
$lang->waterfall->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
$lang->waterfall->subMenu->setting = new stdclass();
diff --git a/module/common/lang/vi.php b/module/common/lang/vi.php
index fa7701fdaf..3ccd697947 100644
--- a/module/common/lang/vi.php
+++ b/module/common/lang/vi.php
@@ -740,8 +740,9 @@ $lang->pager->pageOfTotal = "Page {page} of {totalPage
$lang->colorPicker = new stdclass();
$lang->colorPicker->errorTip = 'Not a valid color value';
+global $config;
$lang->proVersion = "Upgrade";
-$lang->globalLogo = " ";
+$lang->globalLogo = " ";
$lang->downNotify = "Download Desktop Notification";
$lang->downloadClient = "Download ZenTao Desktop";
$lang->clientHelp = "Client Help";
@@ -891,8 +892,8 @@ $lang->menu->scrum->setting = array('link' => 'Setting|project|setting',
$lang->scrum = new stdclass();
$lang->scrum->subMenu = new stdclass();
$lang->scrum->subMenu->other = new stdclass();
-$lang->scrum->subMenu->other->issue = 'Issue|issue|browse|';;
-$lang->scrum->subMenu->other->risk = 'Risk|risk|browse|';;
+$lang->scrum->subMenu->other->issue = array('link' => 'Issue|issue|browse|', 'subModule' => 'issue');
+$lang->scrum->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
$lang->scrum->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
$lang->scrum->subMenu->setting = new stdclass();
@@ -911,14 +912,14 @@ $lang->menu->waterfall->ci = 'Code|repo|browse|';
$lang->menu->waterfall->qa = array('link' => 'QA|bug|browse|product={PRODUCT}', 'subModule' => ',testcase,testtask,testsuite,caselib,');
$lang->menu->waterfall->projectrelease = array('link' => 'Release|projectrelease|browse');
$lang->menu->waterfall->projectbuild = array('link' => 'Build|projectbuild|browse|project={PROJECT}');
-$lang->menu->waterfall->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk');
-$lang->menu->waterfall->setting = array('link' => 'Setting|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder');
+$lang->menu->waterfall->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder');
+$lang->menu->waterfall->setting = array('link' => 'Setting|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'workestimation,durationestimation,budget,pssp');
$lang->waterfall = new stdclass();
$lang->waterfall->subMenu = new stdclass();
$lang->waterfall->subMenu->other = new stdclass();
-$lang->waterfall->subMenu->other->issue = 'Issue|issue|browse|';;
-$lang->waterfall->subMenu->other->risk = 'Risk|risk|browse|';;
+$lang->waterfall->subMenu->other->issue = array('link' => 'Issue|issue|browse|', 'subModule' => 'issue');
+$lang->waterfall->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
$lang->waterfall->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
$lang->waterfall->subMenu->setting = new stdclass();
diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php
index c4f366bfec..481a1c7930 100755
--- a/module/common/lang/zh-cn.php
+++ b/module/common/lang/zh-cn.php
@@ -740,8 +740,9 @@ $lang->pager->pageOfTotal = '第 {page}/{totalPage}colorPicker = new stdclass();
$lang->colorPicker->errorTip = '不是有效的颜色值';
+global $config;
$lang->proVersion = "升级";
-$lang->globalLogo = " ";
+$lang->globalLogo = " ";
$lang->downNotify = "下载桌面提醒";
$lang->downloadClient = "下载客户端";
$lang->clientHelp = "客户端使用说明";
@@ -885,14 +886,14 @@ $lang->menu->scrum->qa = '测试|qa|index';
$lang->menu->scrum->ci = '代码|repo|browse';
$lang->menu->scrum->projectbuild = array('link' => '版本|projectbuild|browse|project={PROJECT}');
$lang->menu->scrum->projectrelease = array('link' => '发布|projectrelease|browse');
-$lang->menu->scrum->other = array('link' => '其他|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk');
+$lang->menu->scrum->other = array('link' => '其他|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder');
$lang->menu->scrum->setting = array('link' => '设置|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list');
$lang->scrum = new stdclass();
$lang->scrum->subMenu = new stdclass();
$lang->scrum->subMenu->other = new stdclass();
-$lang->scrum->subMenu->other->issue = '问题|issue|browse|';;
-$lang->scrum->subMenu->other->risk = '风险|risk|browse|';;
+$lang->scrum->subMenu->other->issue = array('link' => '问题|issue|browse|', 'subModule' => 'issue');
+$lang->scrum->subMenu->other->risk = array('link' => '风险|risk|browse|', 'subModule' => 'risk');
$lang->scrum->subMenu->other->stakeholder = array('link' => '干系人|stakeholder|browse|', 'subModule' => 'stakeholder');
$lang->scrum->subMenu->setting = new stdclass();
@@ -911,14 +912,14 @@ $lang->menu->waterfall->ci = '代码|repo|browse|';
$lang->menu->waterfall->qa = array('link' => '测试|bug|browse|product={PRODUCT}', 'subModule' => ',testcase,testtask,testsuite,caselib,');
$lang->menu->waterfall->projectrelease = array('link' => '发布|projectrelease|browse');
$lang->menu->waterfall->projectbuild = array('link' => '版本|projectbuild|browse|project={PROJECT}');
-$lang->menu->waterfall->other = array('link' => '其他|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk');
-$lang->menu->waterfall->setting = array('link' => '设置|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder');
+$lang->menu->waterfall->other = array('link' => '其他|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder');
+$lang->menu->waterfall->setting = array('link' => '设置|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'workestimation,durationestimation,budget,pssp');
$lang->waterfall = new stdclass();
$lang->waterfall->subMenu = new stdclass();
$lang->waterfall->subMenu->other = new stdclass();
-$lang->waterfall->subMenu->other->issue = '问题|issue|browse|';;
-$lang->waterfall->subMenu->other->risk = '风险|risk|browse|';;
+$lang->waterfall->subMenu->other->issue = array('link' => '问题|issue|browse|', 'subModule' => 'issue');
+$lang->waterfall->subMenu->other->risk = array('link' => '风险|risk|browse|', 'subModule' => 'risk');
$lang->waterfall->subMenu->other->stakeholder = array('link' => '干系人|stakeholder|browse|', 'subModule' => 'stakeholder');
$lang->waterfall->subMenu->setting = new stdclass();
From 408a720605300c2bd3a229e89ae94b0bbfa39dc1 Mon Sep 17 00:00:00 2001
From: tianshujie98
Date: Wed, 30 Dec 2020 11:26:59 +0800
Subject: [PATCH 4/7] * When editing products, add sorting uniqueness judgment.
---
module/product/lang/de.php | 1 +
module/product/lang/en.php | 1 +
module/product/lang/fr.php | 1 +
module/product/lang/vi.php | 1 +
module/product/lang/zh-cn.php | 1 +
module/product/model.php | 22 ++++++++++++++++------
module/todo/view/view.html.php | 2 +-
7 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/module/product/lang/de.php b/module/product/lang/de.php
index ff340b940b..dbd0bf174b 100644
--- a/module/product/lang/de.php
+++ b/module/product/lang/de.php
@@ -147,6 +147,7 @@ $lang->product->checkedSummary = " %total% geprüft, %e
$lang->product->noModule = 'Kein Modul Jetzt verwalten ';
$lang->product->noProduct = 'Kein Produkt. ';
$lang->product->noMatched = '"%s" kann nicht gefunden werden.' . $lang->productCommon;
+$lang->product->DuplicateOrder = "{$lang->productCommon}: The %s sort is duplicated with other {$lang->productCommon} sorts and will not be updated.";
$lang->product->featureBar['browse']['allstory'] = $lang->product->allStory;
$lang->product->featureBar['browse']['unclosed'] = $lang->product->unclosed;
diff --git a/module/product/lang/en.php b/module/product/lang/en.php
index a774c0a837..52fc10d7ed 100644
--- a/module/product/lang/en.php
+++ b/module/product/lang/en.php
@@ -147,6 +147,7 @@ $lang->product->checkedSummary = "%total% %storyCommon% selecte
$lang->product->noModule = 'You have no modules. Manage Now ';
$lang->product->noProduct = "No {$lang->productCommon} yet. ";
$lang->product->noMatched = '"%s" cannot be found.' . $lang->productCommon;
+$lang->product->DuplicateOrder = "{$lang->productCommon}: The %s sort is duplicated with other {$lang->productCommon} sorts and will not be updated.";
$lang->product->featureBar['browse']['allstory'] = $lang->product->allStory;
$lang->product->featureBar['browse']['unclosed'] = $lang->product->unclosed;
diff --git a/module/product/lang/fr.php b/module/product/lang/fr.php
index 4fc19a7a98..14e30fe58c 100644
--- a/module/product/lang/fr.php
+++ b/module/product/lang/fr.php
@@ -147,6 +147,7 @@ $lang->product->checkedSummary = "%total% %storyCommon% sélect
$lang->product->noModule = "Vous n'avez aucun modules. Gérer Maintenant ";
$lang->product->noProduct = "No {$lang->productCommon} à ce jour. ";
$lang->product->noMatched = '"%s" cannot be found.' . $lang->productCommon;
+$lang->product->DuplicateOrder = "{$lang->productCommon}: The %s sort is duplicated with other {$lang->productCommon} sorts and will not be updated.";
$lang->product->featureBar['browse']['allstory'] = $lang->product->allStory;
$lang->product->featureBar['browse']['unclosed'] = $lang->product->unclosed;
diff --git a/module/product/lang/vi.php b/module/product/lang/vi.php
index a42732540c..39bc06101c 100644
--- a/module/product/lang/vi.php
+++ b/module/product/lang/vi.php
@@ -147,6 +147,7 @@ $lang->product->checkedSummary = "%total% stories selected, Esi
$lang->product->noModule = 'Chưa có Module. Quản lý ngay ';
$lang->product->noProduct = "Không có {$lang->productCommon} nào.";
$lang->product->noMatched = '"%s" không thể tìm thấy ' . $lang->productCommon;
+$lang->product->DuplicateOrder = "{$lang->productCommon}: The %s sort is duplicated with other {$lang->productCommon} sorts and will not be updated.";
$lang->product->featureBar['browse']['allstory'] = $lang->product->allStory;
$lang->product->featureBar['browse']['unclosed'] = $lang->product->unclosed;
diff --git a/module/product/lang/zh-cn.php b/module/product/lang/zh-cn.php
index ed146d7588..a80da89b9a 100644
--- a/module/product/lang/zh-cn.php
+++ b/module/product/lang/zh-cn.php
@@ -147,6 +147,7 @@ $lang->product->checkedSummary = "选中 %total% 个%storyCommo
$lang->product->noModule = "您现在还没有模块信息 请维护{$lang->productCommon}模块 ";
$lang->product->noProduct = "暂时没有{$lang->productCommon}。";
$lang->product->noMatched = '找不到包含"%s"的' . $lang->productCommon;
+$lang->product->DuplicateOrder = "{$lang->productCommon} :%s排序与其他{$lang->productCommon}排序重复,将不会被更新。";
$lang->product->featureBar['browse']['allstory'] = $lang->product->allStory;
$lang->product->featureBar['browse']['unclosed'] = $lang->product->unclosed;
diff --git a/module/product/model.php b/module/product/model.php
index 2b2ef8d7dc..2395b93dd4 100644
--- a/module/product/model.php
+++ b/module/product/model.php
@@ -608,12 +608,14 @@ class productModel extends model
*/
public function batchUpdate()
{
- $products = array();
- $allChanges = array();
- $data = fixer::input('post')->get();
- $oldProducts = $this->getByIdList($this->post->productIDList);
- $nameList = array();
- $codeList = array();
+ $products = array();
+ $allChanges = array();
+ $data = fixer::input('post')->get();
+ $oldProducts = $this->getByIdList($this->post->productIDList);
+ $nameList = array();
+ $codeList = array();
+ $message = '';
+ $productOrders = $this->dao->select("`id`,`order`")->from(TABLE_PRODUCT)->fetchPairs();
foreach($data->productIDList as $productID)
{
$productName = $data->names[$productID];
@@ -638,8 +640,16 @@ class productModel extends model
/* Check unique code for edited products. */
if(isset($codeList[$productCode])) dao::$errors['code'][] = 'product#' . $productID . sprintf($this->lang->error->unique, $this->lang->product->code, $productCode);
$codeList[$productCode] = $productCode;
+
+ /* Check unique order for edited products. */
+ foreach($productOrders as $id => $productOrder)
+ {
+ if($id == $productID) continue;
+ if($productOrder == $data->orders[$productID]) $message .= sprintf($this->lang->product->DuplicateOrder, $productID);
+ }
}
if(dao::isError()) die(js::error(dao::getError()));
+ if($message) echo js::alert($message);
foreach($products as $productID => $product)
{
diff --git a/module/todo/view/view.html.php b/module/todo/view/view.html.php
index d88e7b681f..9485914ca1 100644
--- a/module/todo/view/view.html.php
+++ b/module/todo/view/view.html.php
@@ -33,7 +33,7 @@
if($todo->type == 'story') common::printLink('story', 'view', "id={$todo->idvalue}", ' STORY#' . $todo->idvalue);
?>
- desc;?>
+ desc;?>
createLink('action', 'comment', "objectType=todo&objectID=$todo->id");?>
From ef9fe6acee50616793256e089a025996e67cef6e Mon Sep 17 00:00:00 2001
From: Yagami <976204163@qq.com>
Date: Wed, 30 Dec 2020 11:14:53 +0800
Subject: [PATCH 5/7] * Fix details.
---
module/common/lang/de.php | 10 +++++-----
module/common/lang/en.php | 10 +++++-----
module/common/lang/fr.php | 10 +++++-----
module/common/lang/vi.php | 10 +++++-----
module/common/lang/zh-cn.php | 10 +++++-----
module/common/model.php | 4 ++--
module/doc/control.php | 2 --
module/product/control.php | 2 +-
module/product/model.php | 6 +++---
module/testsuite/model.php | 2 +-
10 files changed, 32 insertions(+), 34 deletions(-)
diff --git a/module/common/lang/de.php b/module/common/lang/de.php
index 523268bf59..1d1d63de9d 100644
--- a/module/common/lang/de.php
+++ b/module/common/lang/de.php
@@ -176,12 +176,12 @@ $lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s';
$lang->product->viewMenu->dynamic = 'Dynamic|product|dynamic|productID=%s';
$lang->product->viewMenu->project = "Project|product|project|status=all&productID=%s";
$lang->product->viewMenu->doc = array('link' => 'Doc|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
-$lang->product->viewMenu->setting = array('link' => 'Setting|product|setting|mode=branch&productID=%s', 'alias' => 'addwhitelist');
+$lang->product->viewMenu->set = array('link' => 'Setting|product|set|mode=branch&productID=%s', 'alias' => 'addwhitelist');
-$lang->product->settingMenu = new stdclass();
-$lang->product->settingMenu->branch = array('link' => '@branch@|product|setting|mode=branch&productID={PRODUCT}', 'subModule' => 'branch');
-$lang->product->settingMenu->module = array('link' => 'Module|product|setting|mode=module&productID={PRODUCT}', 'subModule' => 'tree');
-$lang->product->settingMenu->whitelist = array('link' => 'Whitelist|product|setting|mode=whitelist&productID={PRODUCT}', 'subModule' => 'personnel');
+$lang->product->setMenu = new stdclass();
+$lang->product->setMenu->branch = array('link' => '@branch@|product|set|mode=branch&productID={PRODUCT}', 'subModule' => 'branch');
+$lang->product->setMenu->module = array('link' => 'Module|product|set|mode=module&productID={PRODUCT}', 'subModule' => 'tree');
+$lang->product->setMenu->whitelist = array('link' => 'Whitelist|product|set|mode=whitelist&productID={PRODUCT}', 'subModule' => 'personnel');
$lang->release = new stdclass();
$lang->branch = new stdclass();
diff --git a/module/common/lang/en.php b/module/common/lang/en.php
index 75d1100f38..83aea2a8bb 100644
--- a/module/common/lang/en.php
+++ b/module/common/lang/en.php
@@ -176,12 +176,12 @@ $lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s';
$lang->product->viewMenu->dynamic = 'Dynamic|product|dynamic|productID=%s';
$lang->product->viewMenu->project = "Project|product|project|status=all&productID=%s";
$lang->product->viewMenu->doc = array('link' => 'Doc|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
-$lang->product->viewMenu->setting = array('link' => 'Setting|product|setting|mode=branch&productID=%s', 'alias' => 'addwhitelist');
+$lang->product->viewMenu->set = array('link' => 'Setting|product|set|mode=branch&productID=%s', 'alias' => 'addwhitelist');
-$lang->product->settingMenu = new stdclass();
-$lang->product->settingMenu->branch = array('link' => '@branch@|product|setting|mode=branch&productID={PRODUCT}', 'subModule' => 'branch');
-$lang->product->settingMenu->module = array('link' => 'Module|product|setting|mode=module&productID={PRODUCT}', 'subModule' => 'tree');
-$lang->product->settingMenu->whitelist = array('link' => 'Whitelist|product|setting|mode=whitelist&productID={PRODUCT}', 'subModule' => 'personnel');
+$lang->product->setMenu = new stdclass();
+$lang->product->setMenu->branch = array('link' => '@branch@|product|set|mode=branch&productID={PRODUCT}', 'subModule' => 'branch');
+$lang->product->setMenu->module = array('link' => 'Module|product|set|mode=module&productID={PRODUCT}', 'subModule' => 'tree');
+$lang->product->setMenu->whitelist = array('link' => 'Whitelist|product|set|mode=whitelist&productID={PRODUCT}', 'subModule' => 'personnel');
$lang->release = new stdclass();
$lang->branch = new stdclass();
diff --git a/module/common/lang/fr.php b/module/common/lang/fr.php
index 870abe447e..1e9a956c47 100644
--- a/module/common/lang/fr.php
+++ b/module/common/lang/fr.php
@@ -176,12 +176,12 @@ $lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s';
$lang->product->viewMenu->dynamic = 'Dynamic|product|dynamic|productID=%s';
$lang->product->viewMenu->project = "Project|product|project|status=all&productID=%s";
$lang->product->viewMenu->doc = array('link' => 'Doc|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
-$lang->product->viewMenu->setting = array('link' => 'Setting|product|setting|mode=branch&productID=%s', 'alias' => 'addwhitelist');
+$lang->product->viewMenu->set = array('link' => 'Setting|product|set|mode=branch&productID=%s', 'alias' => 'addwhitelist');
-$lang->product->settingMenu = new stdclass();
-$lang->product->settingMenu->branch = array('link' => '@branch@|product|setting|mode=branch&productID={PRODUCT}', 'subModule' => 'branch');
-$lang->product->settingMenu->module = array('link' => 'Module|product|setting|mode=module&productID={PRODUCT}', 'subModule' => 'tree');
-$lang->product->settingMenu->whitelist = array('link' => 'Whitelist|product|setting|mode=whitelist&productID={PRODUCT}', 'subModule' => 'personnel');
+$lang->product->setMenu = new stdclass();
+$lang->product->setMenu->branch = array('link' => '@branch@|product|set|mode=branch&productID={PRODUCT}', 'subModule' => 'branch');
+$lang->product->setMenu->module = array('link' => 'Module|product|set|mode=module&productID={PRODUCT}', 'subModule' => 'tree');
+$lang->product->setMenu->whitelist = array('link' => 'Whitelist|product|set|mode=whitelist&productID={PRODUCT}', 'subModule' => 'personnel');
$lang->release = new stdclass();
$lang->branch = new stdclass();
diff --git a/module/common/lang/vi.php b/module/common/lang/vi.php
index 3ccd697947..da4bd1d0b4 100644
--- a/module/common/lang/vi.php
+++ b/module/common/lang/vi.php
@@ -176,12 +176,12 @@ $lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s';
$lang->product->viewMenu->dynamic = 'Dynamic|product|dynamic|productID=%s';
$lang->product->viewMenu->project = "Project|product|project|status=all&productID=%s";
$lang->product->viewMenu->doc = array('link' => 'Doc|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
-$lang->product->viewMenu->setting = array('link' => 'Setting|product|setting|mode=branch&productID=%s', 'alias' => 'addwhitelist');
+$lang->product->viewMenu->set = array('link' => 'Setting|product|set|mode=branch&productID=%s', 'alias' => 'addwhitelist');
-$lang->product->settingMenu = new stdclass();
-$lang->product->settingMenu->branch = array('link' => '@branch@|product|setting|mode=branch&productID={PRODUCT}', 'subModule' => 'branch');
-$lang->product->settingMenu->module = array('link' => 'Module|product|setting|mode=module&productID={PRODUCT}', 'subModule' => 'tree');
-$lang->product->settingMenu->whitelist = array('link' => 'Whitelist|product|setting|mode=whitelist&productID={PRODUCT}', 'subModule' => 'personnel');
+$lang->product->setMenu = new stdclass();
+$lang->product->setMenu->branch = array('link' => '@branch@|product|set|mode=branch&productID={PRODUCT}', 'subModule' => 'branch');
+$lang->product->setMenu->module = array('link' => 'Module|product|set|mode=module&productID={PRODUCT}', 'subModule' => 'tree');
+$lang->product->setMenu->whitelist = array('link' => 'Whitelist|product|set|mode=whitelist&productID={PRODUCT}', 'subModule' => 'personnel');
$lang->release = new stdclass();
$lang->branch = new stdclass();
diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php
index 481a1c7930..796b2cc829 100755
--- a/module/common/lang/zh-cn.php
+++ b/module/common/lang/zh-cn.php
@@ -176,12 +176,12 @@ $lang->product->viewMenu->roadmap = '路线图|product|roadmap|productID=%s'
$lang->product->viewMenu->dynamic = '动态|product|dynamic|productID=%s';
$lang->product->viewMenu->project = "项目|product|project|status=all&productID=%s";
$lang->product->viewMenu->doc = array('link' => '文档|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
-$lang->product->viewMenu->setting = array('link' => '设置|product|setting|mode=branch&productID=%s', 'alias' => 'addwhitelist');
+$lang->product->viewMenu->set = array('link' => '设置|product|set|mode=branch&productID=%s', 'alias' => 'addwhitelist');
-$lang->product->settingMenu = new stdclass();
-$lang->product->settingMenu->branch = array('link' => '@branch@|product|setting|mode=branch&productID={PRODUCT}', 'subModule' => 'branch');
-$lang->product->settingMenu->module = array('link' => '模块|product|setting|mode=module&productID={PRODUCT}', 'subModule' => 'tree');
-$lang->product->settingMenu->whitelist = array('link' => '白名单|product|setting|mode=whitelist&productID={PRODUCT}', 'subModule' => 'personnel');
+$lang->product->setMenu = new stdclass();
+$lang->product->setMenu->branch = array('link' => '@branch@|product|set|mode=branch&productID={PRODUCT}', 'subModule' => 'branch');
+$lang->product->setMenu->module = array('link' => '模块|product|set|mode=module&productID={PRODUCT}', 'subModule' => 'tree');
+$lang->product->setMenu->whitelist = array('link' => '白名单|product|set|mode=whitelist&productID={PRODUCT}', 'subModule' => 'personnel');
$lang->release = new stdclass();
$lang->branch = new stdclass();
diff --git a/module/common/model.php b/module/common/model.php
index 6d7ef6cf9b..1930dcc4d2 100644
--- a/module/common/model.php
+++ b/module/common/model.php
@@ -803,9 +803,9 @@ class commonModel extends model
if($group == 'repo' || $group == 'ops' || $group == 'feedback') return;
if($group == 'my') self::getMyModuleMenu($moduleName, $methodName);
if($group == 'project') self::getProgramModuleMenu($moduleName);
- if($moduleName == 'product' and ($methodName == 'setting' or $methodName == 'addwhitelist'))
+ if($moduleName == 'product' and ($methodName == 'set' or $methodName == 'addwhitelist'))
{
- $lang->product->menu = $lang->product->settingMenu;
+ $lang->product->menu = $lang->product->setMenu;
self::processMenuVars($lang->product->menu);
}
diff --git a/module/doc/control.php b/module/doc/control.php
index 5aaea8446f..f02361401f 100644
--- a/module/doc/control.php
+++ b/module/doc/control.php
@@ -112,7 +112,6 @@ class doc extends control
if($from == 'product')
{
$this->lang->navGroup->doc = 'product';
- $this->lang->doc->menu = $this->lang->product->menu;
$this->lang->doc->menuOrder = $this->lang->product->menuOrder;
$this->product->setMenu($this->product->getPairs(), $lib->product);
$this->lang->set('menugroup.doc', 'product');
@@ -864,7 +863,6 @@ class doc extends control
if($from == 'product')
{
$this->lang->navGroup->doc = 'product';
- $this->lang->doc->menu = $this->lang->product->menu;
$this->lang->doc->menuOrder = $this->lang->product->menuOrder;
$this->product->setMenu($this->product->getPairs(), $objectID);
$this->lang->set('menugroup.doc', 'product');
diff --git a/module/product/control.php b/module/product/control.php
index d520f59584..f1f9da9fdc 100644
--- a/module/product/control.php
+++ b/module/product/control.php
@@ -672,7 +672,7 @@ class product extends control
* @access public
* @return void
*/
- public function setting($mode = 'branch', $productID)
+ public function set($mode = 'branch', $productID)
{
$moduleIndex = array_search('product', $this->lang->noMenuModule);
if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]);
diff --git a/module/product/model.php b/module/product/model.php
index 2395b93dd4..f0a631c005 100644
--- a/module/product/model.php
+++ b/module/product/model.php
@@ -115,7 +115,7 @@ class productModel extends model
$this->app->loadLang('product');
if(!$productID)
{
- unset($this->lang->product->settingMenu->branch);
+ unset($this->lang->product->setMenu->branch);
return;
}
$isMobile = $this->app->viewType == 'mhtml';
@@ -133,11 +133,11 @@ class productModel extends model
$output .= "";
if($isMobile) $output = "{$currentProduct->name} ";
- if($currentProduct->type == 'normal') unset($this->lang->product->settingMenu->branch);
+ if($currentProduct->type == 'normal') unset($this->lang->product->setMenu->branch);
if($currentProduct->type != 'normal' && $currentModule != 'programplan')
{
$this->lang->product->branch = $this->lang->product->branchName[$currentProduct->type];
- $this->lang->product->settingMenu->branch = str_replace('@branch@', $this->lang->product->branch, $this->lang->product->settingMenu->branch);
+ $this->lang->product->setMenu->branch = str_replace('@branch@', $this->lang->product->branch, $this->lang->product->setMenu->branch);
$branches = $this->loadModel('branch')->getPairs($productID);
$branchName = isset($branches[$branch]) ? $branches[$branch] : $branches[0];
diff --git a/module/testsuite/model.php b/module/testsuite/model.php
index 32321a1302..56973aa6a0 100644
--- a/module/testsuite/model.php
+++ b/module/testsuite/model.php
@@ -78,7 +78,7 @@ class testsuiteModel extends model
{
if(!$productID)
{
- unset($this->lang->product->settingMenu->branch);
+ unset($this->lang->product->setMenu->branch);
return;
}
From 6b9fb543e2b8b0d050a69288573aa77da62d2adc Mon Sep 17 00:00:00 2001
From: Yagami <976204163@qq.com>
Date: Wed, 30 Dec 2020 13:02:03 +0800
Subject: [PATCH 6/7] * Fix project link.
---
module/product/view/project.html.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/module/product/view/project.html.php b/module/product/view/project.html.php
index 895a0fbc84..62ba7bd7e2 100644
--- a/module/product/view/project.html.php
+++ b/module/product/view/project.html.php
@@ -24,7 +24,7 @@
project->noProject;?>
- createLink('project', 'create', "productID=$productID"), " " . $lang->project->create, '', "class='btn btn-info'");?>
+ createLink('program', 'createGuide'), " " . $lang->project->create, '', "class='btn btn-info iframe'");?>
@@ -48,7 +48,7 @@
- | createLink('project', 'task', 'project=' . $project->id), $project->name, '_parent');?> |
+ createLink('project', 'task', 'project=' . $project->id, '', false, $project->id), $project->name, '_parent');?> |
code;?> |
end;?> |
delay)):?>
From b6b15b7a9d8b72a510351fcab8a686a3cd43c866 Mon Sep 17 00:00:00 2001
From: Yagami <976204163@qq.com>
Date: Wed, 30 Dec 2020 13:31:04 +0800
Subject: [PATCH 7/7] * Fix bug #3780.
---
module/user/view/profile.html.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/module/user/view/profile.html.php b/module/user/view/profile.html.php
index 534e90303b..dee103f1ec 100644
--- a/module/user/view/profile.html.php
+++ b/module/user/view/profile.html.php
@@ -19,7 +19,7 @@
user->profile;?>
- createLink('user', 'edit', "userID=$user->id"), html::icon('pencil') . ' ' . $lang->user->editProfile, '', "class='btn btn-primary'"); ?>
+ createLink('user', 'edit', "userID=$user->id"), html::icon('pencil') . ' ' . $lang->user->editProfile, '', "class='btn btn-primary'"); ?>
|