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 ddaa1ee777..1d1d63de9d 100644 --- a/module/common/lang/de.php +++ b/module/common/lang/de.php @@ -139,7 +139,7 @@ $lang->mainNav->system = ' System|custom|es $lang->mainNav->admin = ' Admin|admin|index|'; $lang->reporting = new stdclass(); -$lang->dividerMenu = ',admin,project,repo,'; +$lang->dividerMenu = ',project,doc,'; /* Program set menu. */ $lang->program = new stdclass(); @@ -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(); @@ -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 8e5652e307..83aea2a8bb 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -139,7 +139,7 @@ $lang->mainNav->system = ' System|custom|es $lang->mainNav->admin = ' Admin|admin|index|'; $lang->reporting = new stdclass(); -$lang->dividerMenu = ',admin,project,repo,'; +$lang->dividerMenu = ',project,doc,'; /* Program set menu. */ $lang->program = new stdclass(); @@ -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(); @@ -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 ffcfbe6c41..1e9a956c47 100644 --- a/module/common/lang/fr.php +++ b/module/common/lang/fr.php @@ -139,7 +139,7 @@ $lang->mainNav->system = ' System|custom|es $lang->mainNav->admin = ' Admin|admin|index|'; $lang->reporting = new stdclass(); -$lang->dividerMenu = ',admin,project,repo,'; +$lang->dividerMenu = ',project,doc,'; /* Program set menu. */ $lang->program = new stdclass(); @@ -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(); @@ -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 405d0ed918..da4bd1d0b4 100644 --- a/module/common/lang/vi.php +++ b/module/common/lang/vi.php @@ -139,7 +139,7 @@ $lang->mainNav->system = ' System|custom|es $lang->mainNav->admin = ' Admin|admin|index|'; $lang->reporting = new stdclass(); -$lang->dividerMenu = ',admin,project,repo,'; +$lang->dividerMenu = ',project,doc,'; /* Program set menu. */ $lang->program = new stdclass(); @@ -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(); @@ -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..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(); @@ -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(); diff --git a/module/common/model.php b/module/common/model.php index c937498a6f..c9468bc219 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/my/view/execution.html.php b/module/my/view/execution.html.php index f74e99c016..249b92ecc0 100644 --- a/module/my/view/execution.html.php +++ b/module/my/view/execution.html.php @@ -49,7 +49,7 @@ createLink('project', 'browse', "id=$execution->id", '', '', $execution->project);?> - id);?> + id));?> project->typeList, $execution->type);?> 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/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..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]; @@ -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/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)):?> 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; } 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");?> 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'"); ?>