diff --git a/config/zentaopms.php b/config/zentaopms.php index ac6e6557a8..836c84acfe 100644 --- a/config/zentaopms.php +++ b/config/zentaopms.php @@ -227,7 +227,7 @@ $config->openMethods[] = 'doc.createbasicinfo'; $config->openMethods[] = 'project.createguide'; $config->openMethods[] = 'task.editteam'; $config->openMethods[] = 'feedback.mergeproductmodule'; -$config->openMethods[] = 'zanode.nodeList'; +$config->openMethods[] = 'zanode.nodelist'; $config->openMethods[] = 'action.restoreStages'; $config->openModules = array(); diff --git a/doc/LICENSE.EN b/doc/LICENSE.EN index e6c758402d..090132df9b 100644 --- a/doc/LICENSE.EN +++ b/doc/LICENSE.EN @@ -11,13 +11,13 @@ Z PUBLIC LICENSE(ZPL) 1.2 Authorization -Z PUBLIC LICENSE, also known as ZPL Agreement, is drafted by EasyCorp(www.easycorp.ltd). +Z PUBLIC LICENSE, also known as ZPL Agreement, is drafted by ZenTao Software(www.easycorp.ltd). Anyone can use the agreement to publish open source software, and modify the blank in the following text of the agreement accordingly. -No other text of the agreement shall be changed. EasyCorp has the final interpretation of the terms in the agreement. +No other text of the agreement shall be changed. ZenTao Software has the final interpretation of the terms in the agreement. Preface -ZenTao ALM (Hereinafter referred to as "the software") developed by EasyCorp (www.easycorp.ltd) (hereinafter referred to I). I'm entitled to all copyright of the software. +ZenTao ALM (Hereinafter referred to as "the software") developed by ZenTao Software (www.easycorp.ltd) (hereinafter referred to I). I'm entitled to all copyright of the software. The software is released as open source software. You are authorized to use the software as long as you are in compliance with this agreement. By installation of the software, you agree that a contractual relationship between you and me is automatically established. You are obliged to fully comply with all the terms of this agreement unless you choose to stop using the software or you have signed additional agreement with me. diff --git a/doc/LICENSE.LITE.EN b/doc/LICENSE.LITE.EN index 0f5d8d8e26..d49da3944d 100644 --- a/doc/LICENSE.LITE.EN +++ b/doc/LICENSE.LITE.EN @@ -2,13 +2,13 @@ Z PUBLIC LICENSE 1.2 Authorization -Z PUBLIC LICENSE, also known as ZPL Agreement, is drafted by EasyCorp(www.easycorp.ltd). +Z PUBLIC LICENSE, also known as ZPL Agreement, is drafted by ZenTao Software(www.easycorp.ltd). Anyone can use the agreement to publish open source software, and modify the blank in the following text of the agreement accordingly. -No other text of the agreement shall be changed. EasyCorp has the final interpretation of the terms in the agreement. +No other text of the agreement shall be changed. ZenTao Software has the final interpretation of the terms in the agreement. Preface -ZenTao LITE (Hereinafter referred to as "the software") developed by EasyCorp (www.easycorp.ltd) (hereinafter referred to I). I'm entitled to all copyright of the software. +ZenTao LITE (Hereinafter referred to as "the software") developed by ZenTao Software (www.easycorp.ltd) (hereinafter referred to I). I'm entitled to all copyright of the software. The software is released as open source software. You are authorized to use the software as long as you are in compliance with this agreement. By installation of the software, you agree that a contractual relationship between you and me is automatically established. You are obliged to fully comply with all the terms of this agreement unless you choose to stop using the software or you have signed additional agreement with me. diff --git a/extension/lite/install/ext/lang/de/lite.php b/extension/lite/install/ext/lang/de/lite.php index c190378e52..217460939d 100644 --- a/extension/lite/install/ext/lang/de/lite.php +++ b/extension/lite/install/ext/lang/de/lite.php @@ -11,11 +11,11 @@ enterprises. It enables every department and every employee in the company to ma EOT; $lang->install->links = <<EasyCorp. +ZenTao Lite is developed by ZenTao Software. Official Website: https://www.zentao.pm Technical Support: https://www.zentao.pm/forum/ -LinkedIn: EasyCorp -Facebook: EasyCorp +LinkedIn: ZenTao Software +Facebook: ZenTao Software Twitter: ZenTao Lite diff --git a/extension/lite/install/ext/lang/en/lite.php b/extension/lite/install/ext/lang/en/lite.php index c190378e52..217460939d 100644 --- a/extension/lite/install/ext/lang/en/lite.php +++ b/extension/lite/install/ext/lang/en/lite.php @@ -11,11 +11,11 @@ enterprises. It enables every department and every employee in the company to ma EOT; $lang->install->links = <<EasyCorp. +ZenTao Lite is developed by ZenTao Software. Official Website: https://www.zentao.pm Technical Support: https://www.zentao.pm/forum/ -LinkedIn: EasyCorp -Facebook: EasyCorp +LinkedIn: ZenTao Software +Facebook: ZenTao Software Twitter: ZenTao Lite diff --git a/extension/lite/install/ext/lang/fr/lite.php b/extension/lite/install/ext/lang/fr/lite.php index c190378e52..217460939d 100644 --- a/extension/lite/install/ext/lang/fr/lite.php +++ b/extension/lite/install/ext/lang/fr/lite.php @@ -11,11 +11,11 @@ enterprises. It enables every department and every employee in the company to ma EOT; $lang->install->links = <<EasyCorp. +ZenTao Lite is developed by ZenTao Software. Official Website: https://www.zentao.pm Technical Support: https://www.zentao.pm/forum/ -LinkedIn: EasyCorp -Facebook: EasyCorp +LinkedIn: ZenTao Software +Facebook: ZenTao Software Twitter: ZenTao Lite diff --git a/module/admin/model.php b/module/admin/model.php index 5bbaaaa912..1802914b76 100755 --- a/module/admin/model.php +++ b/module/admin/model.php @@ -644,8 +644,8 @@ class adminModel extends model */ public function checkInternet() { - $timeoutMS = 500; - $curl = curl_init(); + $timeoutMS = 400; + $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $this->config->admin->apiSite); curl_setopt($curl, CURLOPT_TIMEOUT_MS, $timeoutMS); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT_MS, $timeoutMS); diff --git a/module/install/lang/de.php b/module/install/lang/de.php index 909ce75858..7221f12766 100644 --- a/module/install/lang/de.php +++ b/module/install/lang/de.php @@ -27,14 +27,14 @@ $lang->install->license = 'ZenTao PMS läuft unter der Z PUBLIC LICENSE $lang->install->desc = <<ZPL or AGPL License. It integrates with Product Management, Project Management, Test Management, Document Management, CI Management, etc. ZenTao is a perfect choice for managing software development projects. -ZenTao ALM is built on PHP + MySQL + zentaoPHP which is an independent framework developed by EasyCorp. Third-party developers/organizations can develop extensions or customize ZenTao accordingly. +ZenTao ALM is built on PHP + MySQL + zentaoPHP which is an independent framework developed by ZenTao Software. Third-party developers/organizations can develop extensions or customize ZenTao accordingly. EOT; $lang->install->links = <<EasyCorp. +ZenTao ALM is developed by ZenTao Software. Official Website: https://www.zentao.pm Technical Support: https://www.zentao.pm/forum/ -LinkedIn: EasyCorp -Facebook: EasyCorp +LinkedIn: ZenTao Software +Facebook: ZenTao Software Twitter: ZenTao ALM You are installing ZenTao %s. @@ -293,7 +293,7 @@ EOT; $lang->install->product = array('chanzhi', 'zdoo'); -$lang->install->promotion = "Produkte von Nature Easy Soft:"; +$lang->install->promotion = "Produkte von Nature ZenTao Software:"; $lang->install->chanzhi = new stdclass(); $lang->install->chanzhi->name = 'ZSITE'; diff --git a/module/install/lang/en.php b/module/install/lang/en.php index 5112748207..22db291309 100644 --- a/module/install/lang/en.php +++ b/module/install/lang/en.php @@ -27,14 +27,14 @@ $lang->install->license = 'License'; $lang->install->desc = <<ZPL or AGPL License. It integrates with Product Management, Project Management, Test Management, Document Management, CI Management, etc. ZenTao is a perfect choice for managing software development projects. -ZenTao ALM is built on PHP + MySQL + zentaoPHP which is an independent framework developed by EasyCorp. Third-party developers/organizations can develop extensions or customize ZenTao accordingly. +ZenTao ALM is built on PHP + MySQL + zentaoPHP which is an independent framework developed by ZenTao Software. Third-party developers/organizations can develop extensions or customize ZenTao accordingly. EOT; $lang->install->links = <<EasyCorp. +ZenTao ALM is developed by ZenTao Software. Official Website: https://www.zentao.pm Technical Support: https://www.zentao.pm/forum/ -LinkedIn: EasyCorp -Facebook: EasyCorp +LinkedIn: ZenTao Software +Facebook: ZenTao Software Twitter: ZenTao ALM You are installing ZenTao %s. @@ -293,7 +293,7 @@ EOT; $lang->install->product = array('chanzhi', 'zdoo', 'ydisk', 'meshiot'); -$lang->install->promotion = "Products also from EasyCorp:"; +$lang->install->promotion = "Products also from ZenTao Software:"; $lang->install->chanzhi = new stdclass(); $lang->install->chanzhi->name = 'ZSITE'; diff --git a/module/install/lang/fr.php b/module/install/lang/fr.php index 146c2fc05b..1960c322a2 100644 --- a/module/install/lang/fr.php +++ b/module/install/lang/fr.php @@ -27,14 +27,14 @@ $lang->install->license = 'ZenTao est sous Z PUBLIC LICENSE(ZPL) 1.2'; $lang->install->desc = <<ZPL or AGPL License. It integrates with Product Management, Project Management, Test Management, Document Management, CI Management, etc. ZenTao is a perfect choice for managing software development projects. -ZenTao ALM is built on PHP + MySQL + zentaoPHP which is an independent framework developed by EasyCorp. Third-party developers/organizations can develop extensions or customize ZenTao accordingly. +ZenTao ALM is built on PHP + MySQL + zentaoPHP which is an independent framework developed by ZenTao Software. Third-party developers/organizations can develop extensions or customize ZenTao accordingly. EOT; $lang->install->links = <<EasyCorp. +ZenTao ALM is developed by ZenTao Software. Official Website: https://www.zentao.pm Technical Support: https://www.zentao.pm/forum/ -LinkedIn: EasyCorp -Facebook: EasyCorp +LinkedIn: ZenTao Software +Facebook: ZenTao Software Twitter: ZenTao ALM You are installing ZenTao %s. @@ -293,7 +293,7 @@ EOT; $lang->install->product = array('chanzhi', 'zdoo'); -$lang->install->promotion = "Autres produits de l'équipe Nature Easy Soft :"; +$lang->install->promotion = "Autres produits de l'équipe Nature ZenTao Software :"; $lang->install->chanzhi = new stdclass(); $lang->install->chanzhi->name = 'ZSITE'; diff --git a/module/install/lang/vi.php b/module/install/lang/vi.php index 3dd3485b7f..59596a9fab 100644 --- a/module/install/lang/vi.php +++ b/module/install/lang/vi.php @@ -27,14 +27,14 @@ $lang->install->license = 'ZenTao is under Z PUBLIC LICENSE(ZPL) 1.2'; $lang->install->desc = <<Z Public License. It integrates with Product Management, Project Management, Test Management, Document Management, CI Management, etc. ZenTao is a perfect choice for managing software development projects. -ZenTao ALM is built on PHP + MySQL + zentaoPHP which is an independent framework developed by EasyCorp. Third-party developers/organizations can develop extensions or customize ZenTao accordingly. +ZenTao ALM is built on PHP + MySQL + zentaoPHP which is an independent framework developed by ZenTao Software. Third-party developers/organizations can develop extensions or customize ZenTao accordingly. EOT; $lang->install->links = <<EasyCorp. +ZenTao ALM is developed by ZenTao Software. Official Website: https://www.zentao.pm Technical Support: https://www.zentao.pm/forum/ -LinkedIn: EasyCorp -Facebook: EasyCorp +LinkedIn: ZenTao Software +Facebook: ZenTao Software Twitter: ZenTao ALM You are installing ZenTao %s. @@ -182,7 +182,7 @@ EOT; $lang->install->product = array('chanzhi', 'zdoo', 'ydisk', 'meshiot'); -$lang->install->promotion = "Sản phẩm từ EasyCorp:"; +$lang->install->promotion = "Sản phẩm từ ZenTao Software:"; $lang->install->chanzhi = new stdclass(); $lang->install->chanzhi->name = 'ZSITE'; diff --git a/module/misc/lang/en.php b/module/misc/lang/en.php index 07c712660f..44192c59ae 100644 --- a/module/misc/lang/en.php +++ b/module/misc/lang/en.php @@ -21,7 +21,7 @@ $lang->misc->zentao->labels['about'] = 'About ZenTao'; $lang->misc->zentao->labels['support'] = 'Tech Support'; $lang->misc->zentao->labels['cowin'] = 'Help Us'; $lang->misc->zentao->labels['service'] = 'Service'; -$lang->misc->zentao->labels['others'] = 'From EasyCorp'; +$lang->misc->zentao->labels['others'] = 'From ZenTao Software'; $lang->misc->zentao->icons['about'] = 'group'; $lang->misc->zentao->icons['support'] = 'question-sign'; @@ -59,7 +59,7 @@ $lang->misc->zentao->others['meshiot' ] = "EasyCorp Email Renee@easycorp.ltd"; +$lang->misc->copyright = "© 2009 - " . date('Y') . " ZenTao Software Email Renee@easycorp.ltd"; $lang->misc->checkTable = "Check Data Table"; $lang->misc->needRepair = "Repair Table"; $lang->misc->repairTable = "Database table might be damaged due to power outage. Please check and repair!"; diff --git a/module/programplan/js/edit.js b/module/programplan/js/edit.js index fd3a453708..c2a243fa1f 100644 --- a/module/programplan/js/edit.js +++ b/module/programplan/js/edit.js @@ -2,7 +2,7 @@ function changeParentStage(stageID) { $.get(createLink('programplan', 'ajaxGetAttribute', 'stageID=' + stageID + '&attribute=' + plan.attribute), function(attribute) { - $('#attributeType th + td').html(attribute); + $('#attributeType td:first').html(attribute); $("#attribute" + "_chosen").remove(); $("#attribute").next('.picker').remove(); $("#attribute").chosen(); diff --git a/module/programplan/model.php b/module/programplan/model.php index b63a714f21..a002767b05 100755 --- a/module/programplan/model.php +++ b/module/programplan/model.php @@ -1046,7 +1046,7 @@ class programplanModel extends model $this->dao->update(TABLE_PROJECT)->set('path')->eq($path['path'])->set('grade')->eq($path['grade'])->where('id')->eq($stage->id)->exec(); - if(count($children) > 0) + if(!empty($children)) { foreach($children as $id => $child) $this->setTreePath($id); } diff --git a/module/project/css/execution.css b/module/project/css/execution.css index 291cca644c..afd49abd35 100644 --- a/module/project/css/execution.css +++ b/module/project/css/execution.css @@ -16,6 +16,7 @@ td.flex {display: flex; flex-flow: row nowrap; justify-content: flex-start; alig td.c-name > .project-type-label {flex: 0 0 36px; padding-right: 2px;} .c-name > a, .table-children .text-left > a, .c-name > span.text-ellipsis { padding-left: 5px; text-overflow: clip;} span.table-nest-icon.table-nest-toggle {min-width: 22px; max-width: 22px;} +span.table-nest-icon {padding-left: 22px;} #projectForm .c-name, #executionTableList .c-name, #programTableList .c-name {padding-right:47px;} #mainMenu .pull-left > .btn-group > a > .text{overflow: hidden;display: block;} #mainMenu .pull-right .icon-list{padding-left: 7px;} diff --git a/module/task/js/create.js b/module/task/js/create.js index 5244f4426d..52497f9380 100644 --- a/module/task/js/create.js +++ b/module/task/js/create.js @@ -619,7 +619,7 @@ $(document).on('click', '#testStory_chosen', function() $('#modalTeam tfoot .btn').click(function() { - var team = ''; + var team = []; var time = 0; var error = false; var mode = $('[name="mode"]').val(); @@ -630,7 +630,7 @@ $('#modalTeam tfoot .btn').click(function() var tr = $(this).closest('tr'); var account = $(this).find('option:selected').text(); - team += ' ' + account; + if(!team.includes(account)) team.push(account); estimate = parseFloat($(this).parents('td').next('td').find('[name^=teamEstimate]').val()); if(!isNaN(estimate) && estimate > 0) time += estimate; @@ -643,8 +643,7 @@ $('#modalTeam tfoot .btn').click(function() }); if(error) return false; - var teamList = team.split(" "); - if(teamList.length <= 2) + if(team.length < 2) { bootbox.alert(teamMemberError); return false; diff --git a/module/testsuite/view/linkcase.html.php b/module/testsuite/view/linkcase.html.php index e1bf64774f..d7e6927384 100644 --- a/module/testsuite/view/linkcase.html.php +++ b/module/testsuite/view/linkcase.html.php @@ -26,6 +26,13 @@
+ +
+

+ testcase->noCase;?> +

+
+
 testsuite->unlinkedCases;?> (recTotal;?>) @@ -87,5 +94,6 @@
+
diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 68b87051d1..6eef575987 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -7064,6 +7064,8 @@ class upgradeModel extends model foreach($labels as $method => $label) { $workflowAction = $this->dao->select('*')->from(TABLE_WORKFLOWACTION)->where('module')->eq($module)->andWhere('action')->eq($method)->fetch(); + if(!$workflowAction) continue; + unset($workflowAction->id); $workflowAction->vision = $workflowAction->vision == 'lite' ? 'rnd' : 'lite'; $this->dao->replace(TABLE_WORKFLOWACTION)->data($workflowAction)->exec(); diff --git a/module/zanode/lang/de.php b/module/zanode/lang/de.php index 8b27396080..2d269e533c 100644 --- a/module/zanode/lang/de.php +++ b/module/zanode/lang/de.php @@ -1,6 +1,7 @@ zanode->common = 'ZenAgent Node'; $lang->zanode->browse = 'ZenAgent Node List'; +$lang->zanode->nodeList = 'ZenAgent Node List'; $lang->zanode->create = 'Create ZenAgent Node'; $lang->zanode->edit = 'Edit ZenAgent Node'; $lang->zanode->editAction = 'Edit ZenAgent Node'; diff --git a/module/zanode/lang/en.php b/module/zanode/lang/en.php index 3a2f5b10bd..996e12770c 100644 --- a/module/zanode/lang/en.php +++ b/module/zanode/lang/en.php @@ -1,6 +1,7 @@ zanode->common = 'ZenAgent Node'; $lang->zanode->browse = 'ZenAgent Node List'; +$lang->zanode->nodeList = 'ZenAgent Node List'; $lang->zanode->create = 'Create ZenAgent Node'; $lang->zanode->edit = 'Edit ZenAgent Node'; $lang->zanode->editAction = 'Edit ZenAgent Node'; diff --git a/module/zanode/lang/fr.php b/module/zanode/lang/fr.php index 8b27396080..2d269e533c 100644 --- a/module/zanode/lang/fr.php +++ b/module/zanode/lang/fr.php @@ -1,6 +1,7 @@ zanode->common = 'ZenAgent Node'; $lang->zanode->browse = 'ZenAgent Node List'; +$lang->zanode->nodeList = 'ZenAgent Node List'; $lang->zanode->create = 'Create ZenAgent Node'; $lang->zanode->edit = 'Edit ZenAgent Node'; $lang->zanode->editAction = 'Edit ZenAgent Node'; diff --git a/module/zanode/lang/zh-cn.php b/module/zanode/lang/zh-cn.php index dcd471c766..abfcbd593d 100644 --- a/module/zanode/lang/zh-cn.php +++ b/module/zanode/lang/zh-cn.php @@ -1,6 +1,7 @@ zanode->common = '执行节点'; $lang->zanode->browse = '执行节点列表'; +$lang->zanode->nodeList = '执行节点列表'; $lang->zanode->create = '创建执行节点'; $lang->zanode->edit = '编辑执行节点'; $lang->zanode->editAction = '编辑执行节点'; diff --git a/module/zanode/view/browse.html.php b/module/zanode/view/browse.html.php index 5e236b48da..e586757bfa 100644 --- a/module/zanode/view/browse.html.php +++ b/module/zanode/view/browse.html.php @@ -53,7 +53,7 @@ idAB); ?> zanode->name); ?> - zahost->type); ?> + zahost->type); ?> zanode->extranet); ?> zanode->cpuCores); ?> zanode->memory); ?> @@ -69,7 +69,7 @@ id; ?> inlink('view', "id=$node->id"), $node->name, '', ""); ?> - lang->zanode->typeList, $node->type); ?> + lang->zanode->typeList, $node->type); ?> extranet; ?> zanode->os->cpuCores, $node->cpuCores); ?> memory . $this->lang->zahost->unitList['GB']; ?> diff --git a/module/zanode/view/create.html.php b/module/zanode/view/create.html.php index b704f2d16e..19f1a570df 100644 --- a/module/zanode/view/create.html.php +++ b/module/zanode/view/create.html.php @@ -22,7 +22,7 @@
- +